Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 146 стр.

UptoLike

Составители: 

146
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 с двумя таблицами. Теперь можно вы-
водить одну из этих таблиц на форму, или две сразу. Но связь между таблицами
еще не создана. Для конфигурирования отношения по полю «Код туриста» соз-
дадим два объекта DataColumn:
DataColumn dcTouristsID = ds.Tables["Туристы"].Columns["Код туриста"];
DataColumn dcInfoTouristsID =
ds.Tables["Информация о туристах"].Columns["Код туриста"];
Далее создаем объект DataRelation, в его конструкторе передаем название
отношения между таблицами и два объекта DataColumn:
DataRelation dataRelation = new
DataRelation("Дополнительная информация", dcTouristsID, dcInfoTouristsID);
Добавляем созданный объект отношения к объекту DataSet:
ds.Relations.Add(dataRelation);
Создаем объект DataViewManager, отвечающий за отображение DataSet в
объекте DataGrid:
DataViewManager dsview = ds.DefaultViewManager;
Присваиваем свойству DataSource объекта DataGridView созданный объект
DataViewManager:
dataGrid1.DataSource = dsview;
Последнее, что осталось сделать, – сообщить объекту DataGrid, какую таб-
лицу считать главной (родительской) и, соответственно, отображать на форме:
dataGrid1.DataMember = "Туристы";
Закрываем соединение:
conn.Close();
Полностью созданный код конструктора Form1 выглядит следующим об-
разом:
public Form1()
{
InitializeComponent();