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


              

dataAdapter2 использует то же самое


OleDbCommand myCommand2 = new OleDbCommand(); myCommand2.Connection = conn; myCommand2.CommandText = commandText2; OleDbDataAdapter dataAdapter2 = new OleDbDataAdapter();
Обратите внимание — dataAdapter2 использует то же самое подключение conn, что и dataAdapter.
Строку commandText2 определим следующим образом:
string commandText2 = "SELECT [Код поставщика], [Код продукта], Наименование, [Цена, $] FROM Товары";
Теперь свяжем второй объект OleDbDataAdapter с только что созданной второй командой и отобразим "Товары" на его таблицу. Затем можно заполнить объект DataSet данными из второй таблицы:
dataAdapter2.SelectCommand = myCommand2; dataAdapter2.TableMappings.Add("Table", "Товары"); dataAdapter2.Fill(ds);
В итоге у нас получился объект DataSet с двумя таблицами. Теперь можно выводить одну из этих таблиц на форму или две сразу. Но связь между таблицами еще не создана. Объявим объект DataRelation:
DataRelation dataRelation;
Этот объект будет представлять собой отношение между таблицами, связанными по полю "Код поставщика" (см. рис. 4.2). Для конфигурирования этого отношения нам понадобятся два объекта типа DataColumn:
DataColumn dataColumn1; DataColumn dataColumn2;
Присваиваем каждому из этих объектов поле, по которому связаны таблицы:
dataColumn1 = ds.Tables["Поставщики"].Columns["Код поставщика"]; dataColumn2 = ds.Tables["Товары"].Columns["Код поставщика"];
Конструктору объекта dataRelation передаем имя отношения между таблицами и два объекта DataColumn:
dataRelation = new DataRelation("Товары этого поставщика", dataColumn1,dataColumn2);
Добавляем созданный объект отношения к объекту DataSet:
ds.Relations.Add(dataRelation);
Создаем объект DataViewManager, отвечающий за отображение DataSet в объекте DataGrid:
DataViewManager dsview = ds.DefaultViewManager;
Присвоим свойству DataSource объекта DataGrid созданный объект DataViewManager:
dataGrid1.DataSource = dsview;

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