Взаимодействие с базами данных на C#

Автор: Topol Пятница, Июнь 8th, 2012 Нет комментариев

Рубрика: Программирование

Удовлетворить потребность в хранении и считывании табличных данных удобно с помощью технологии ADO.Net. Общий принцип заключается в том, что с помощью программных инструментов мы загружаем реальную базу данных (РБД) в виртуальную (ВБД), и работаем с ней, а затем, при необходимости, загружаем изменения в РБД. Уточним, что данные в ВБД хранятся только во время исполнения программы. Рассмотрим на примере базы данных с именем myDataBase.mdb, в которой есть таблица student. Для работы на компьютере должен быть установлен драйвер ODBC. В панели управления («источники данных ODBC») необходимо настроить путь к источнику данных и дать ему имя (в нашем примере — dbsource).

Для обеспечения взаимодействия с базой данных необходимо подключить следующие библиотеки:
using System.Data;
using System.Data.Odbc;

Для соединения с базой данных необходимо определить следующие объекты:
private OdbcConnection cn; // для открытия доступа
private OdbcDataAdapter da1; //для загрузки РБД в ВБД
private OdbcCommandBuilder cmdb1; //для сохранения изменений в РБД
private DataSet ds; // для соединения
private DataTable dt; //объявление таблицы (ВБД)

Открываем соединение:
ds = new DataSet();
cn = new OdbcConnection(«Dsn=dbsource»); //источник данных
cn.Open();

Теперь формируем адаптеры, чтобы скопировать РБД в ВБД. С помощью SQL запроса отбираем все данные из таблицы student:
da1 = new OdbcDataAdapter(«select * from student», cn);
cmdb1 = new OdbcCommandBuilder(da1);//создаем объект для последующей записи изменений
da1.Fill(ds, «tests»); // «заливаем» данные в адаптер
Теперь окончательно записываем скопированные данные в виртуальную таблицу с именем dt:
dt = ds.Tables[0];
Здесь «ноль» — это порядковый номер таблицы в нашей ВБД; нумерация начинается с нуля.

Теперь можем пользоваться данными нужным образом. Например, загрузим фамилии студентов в поле со списком:
foreach (DataRow dr in dt.Rows) //перебираем все строки (rows) таблицы
{ comboBox1.Items.Add(dr["fios"].ToString()); }

Здесь следует обратить внимание, что при обращении к данным мы используем названия столбцов реальной БД.
Теперь хотим добавить в таблицу новую фамилию, для чего мы ранее создали объект Command Builder:
DataRow drs = dt.NewRow(); // создаем новую строку в таблице
drs["fios"] = «Иванов»; //задаем значение
dt.Rows.Add(drs); //подтверждаем добавление строки
da1.Update(ds, «student»); // обновляем – вносим изменения в ВБД

Источник: cisharp.com

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты