Технология Microsoft ADO.NET


Программирование объектов ADO .NET - часть 3


Обратите внимание на названия переменных CommandText и ConnectionString. Когда мы создаем объект DataAdapter, в качестве параметров мы можем передать названия строк, таких как cmdText и conString, или даже cmt и cns - совершенно равноправно, не забыв, конечно же, назвать также эти переменные в классе Form1. Но сама среда Visual Studio .NET генерирует эти строки именно с такими названиями - CommandText и ConnectionString, поэтому если вы пишите их не вручную, то облегчаете работу, называя их так же, как и среда.

Возвращаемся к нашим приложениям - ProgrammDataMDB и ProgrammDataSQL. Дальнейший код будет совершенно одинаковым для обоих приложений.

Итак, создаем объект DataSet:

DataSet ds = new DataSet();

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

dataAdapter.Fill(ds, "Customer");

Cвязываем источник данных объекта dataGrid1 (который мы нанесли на форму в режиме дизайна) с таблицей Customer объекта ds:

dataGrid1.DataSource = ds.Tables["Customer"].DefaultView;

Все! Запускаем оба приложения. Если вы были внимательны в самом начале, то заметили, что в базе данных xtreme таблица называется Customer, а в базе данных NorthwindCS - Customers ( "s" на конце). Тем не менее код работает для обоих приложений. В чем же дело? Таблица, которую мы называем "Customer", при вызове метода Fill объекта dataAdapter может быть названа как угодно - ее содержимое будет представлять собой извлекаемую таблицу из базы данных. При указании источника данных (DataSource) для объекта dataGrid1 мы ссылаемся именно на таблицу Customer, которая была создана при вызове метода Fill. Точнее говоря, эта таблица определена в объекте DataSet, а именно к нему мы и обращаемся для заполнения данными нашей формы в соответствии с моделью ADO .NET. Чтобы убедиться в этом, попробуйте такой код:

DataSet ds = new DataSet(); dataAdapter.Fill(ds, "Bezimyannaya"); dataGrid1.DataSource = ds.Tables["Bezimyannaya"].DefaultView;

По-прежнему все работает.


Начало  Назад  Вперед



Книжный магазин