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

UptoLike

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

145
4.4.3. Объект DataGridView
Вывод двух связанных таблиц данных в один элемент DataGridView
База данных Microsoft Access BDTur_firm.mdb содержит таблицу «Тури-
сты», которая связана с другими таблицами. Было бы удобно выводить эту таб-
лицу в элемент DataGridView вместе с другими таблицами, а также выводить свя-
занные записи этой таблицы. Создадим новое Windows-приложение.
Разместим на форме элемент управления DataGridView, свойству Dock ко-
торого устанавливаем значение Fill. Переходим в код формы и подключаем про-
странство имен:
using System.Data.OleDb;
В конструкторе формы создаем соединение, объект OleDbCommand, опре-
деляем для него соединение и строку CommandText:
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = conn;
myCommand.CommandText = commandText;
Подключаемся к файлу базы данных BDTur_firm.mdb, указываем соот-
ветствующие параметры строк connectionString и commandText:
string commandText = "SELECT [Код туриста], Фамилия, Имя, Отчество FROM Туристы";
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
@"D:\ВМИ\For ADO\BDTur_firm.mdb";
string commandText2 =
"SELECT [Код туриста], [Серия паспорта], Город, Страна, Телефон, Индекс " +
"FROM [Информация о туристах]";
Создаем объект DataAdapter и в его свойстве SelectCommand устанавливаем
значение myCommand, открываем соединение:
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
dataAdapter.SelectCommand = myCommand;
conn.Open();
Создаем объект DataSet:
DataSet ds = new DataSet();
В объекте DataSet здесь будут храниться две таблицыглавная и связан-
ная с ней дочерняя. Поэтому воспользуемся свойством TableMappings объекта
DataAdapter для занесения в него первой таблицы «Туристы»:
dataAdapter.TableMappings.Add("Table", "Туристы");
dataAdapter.Fill(ds);
Теперь нам следует добавить объекты OleDbDataAdapter и OleDbCommand
для таблицы «Информация о туристах»:
OleDbCommand myCommand2 = new OleDbCommand();
myCommand2.Connection = conn;
myCommand2.CommandText = commandText2;