Создание Windows-приложений на основе Visual C#



              

Вывод связанных таблиц


В начале этой лекции мы рассматривали две связанные таблицы — "Поставщики" и "Товары" базы данных Microsoft Access RBProduct (рис. 4.3). Элемент управления DataGrid позволяет представлять несколько связанных между собой таблиц.

Создайте новое приложение, назовите его DataGrid2Table. На создавшейся форме размещаем DataGrid, свойству этого элемента Dock устанавливаем значение Fill.

Подключаем пространство имен:

using System.Data.OleDb;

Создаем соединение и открываем его:

OleDbConnection conn = new OleDbConnection(connectionString); conn.Open();

Создаем объект OleDbCommand и определяем для него соединение и строку CommandText:

OleDbCommand myCommand = new OleDbCommand(); myCommand.Connection = conn; myCommand.CommandText = commandText;

Подключаемся к файлу базы данных Microsoft Access RBProduct.mdb, указываем соответствующие параметры строк connectionString и commandText:

Листинг 4.17.

(html, txt)

Создаем объект DataAdapter и в свойстве SelectCommand устанавливаем значение myCommand:

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(); dataAdapter.SelectCommand = myCommand;

Создаем объект DataSet:

DataSet ds = new DataSet();

В объекте DataSet здесь будут храниться две таблицы — главная и связанная с ней дочерняя. Поэтому воспользуемся свойством TableMappings объекта DataAdapter для занесения в него первой таблицы "Поставщики":

dataAdapter.TableMappings.Add("Table", "Поставщики");

Заполняем объект ds данными из dataAdapter:

dataAdapter.Fill(ds);

Свойству DataSource объекта dataGrid1 указываем таблицу "Поставщики" объекта ds. Обратите внимание на синтаксис — свойство Tables подразумевает наличие нескольких таблиц в объекте DataSet:

dataGrid1.DataSource = ds.Tables["Поставщики"].DefaultView;

Закрываем соединение:

conn.Close();

Запускаем приложение. Пока на форме появляется только одна таблица. Закрываем приложение и переходим в код формы. Теперь нам следует добавить объекты OleDbDataAdapter и OleDbCommand для таблицы "Товары":




Содержание  Назад  Вперед