Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика, мультимедиа и игры на Vis...doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

Глава 21. Архитектура доступа к данным ado.Net

Листинг 21.1. Присоединяем таблицу “Customers” к набору данных без связей.

private void button1_Click(object sender, EventArgs e)

{

DataSet myDataSet = new DataSet();

oleDbConnection1.Open();

oleDbDataAdapter1.Fill(myDataSet, "Customers");

oleDbDataAdapter2.Fill(myDataSet, "Orders");

oleDbDataAdapter3.Fill(myDataSet, "OrderDetails");

oleDbConnection1.Close();

dataGrid1.DataSource = myDataSet;

dataGrid1.DataMember = "Customers";

this.Text = "The table Customers is bound to DataSet"

"with no defined relationships";

}

Аналогично дважды щелкаем вторую кнопку с надписью Bind the table “Customers” to DataSet with relationships (Присоединить таблицу “Customers” к набору данных со связями). Появляется файл Form1.cs с шаблоном, который после записи нашего кода принимает следующий вид.

Листинг 21.2. Присоединяем таблицу “Customers” к набору данных со связями.

private void button2_Click(object sender, EventArgs e)

{

DataSet myDataSet = new DataSet();

oleDbConnection1.Open();

oleDbDataAdapter1.Fill(myDataSet, "Customers");

oleDbDataAdapter2.Fill(myDataSet, "Orders");

oleDbDataAdapter3.Fill(myDataSet, "OrderDetails");

oleDbConnection1.Close();

myDataSet.Relations.Add("CustomerOrders",

myDataSet.Tables.

Item[S"Customers"].Columns.Item[S"customerID"],

myDataSet.Tables.Item[S"Orders"].

Columns.Item[S"customerID"]);

myDataSet.Relations.Add("OrderOrderDetails",

myDataSet.Tables.

Item[S"Orders"].Columns.Item["OrderID"],

myDataSet.Tables.Item[S"OrderDetails"].

Columns.Item[S"OrderID"]);

dataGrid1.DataSource = myDataSet;

dataGrid1.DataMember = "Customers";

this.Text = " The table Customers is bound"

"to DataSet with defined relationships";

}

Аналогично дважды щелкаем третью кнопку с надписью Bind the table “Orders” to DataSet with no relationships (Присоединить таблицу “Orders” к набору данных без связей).

Появляется файл Form1.cs с шаблоном соответствующей функции, которая после записи нашего кода принимает следующий видо.

Листинг 21.3. Присоединяем таблицу “Orders” к набору данных без связей.

private void button3_Click(object sender, EventArgs e)

{

DataSet* myDataSet = new DataSet();

oleDbConnection1.Open();

oleDbDataAdapter1.Fill(myDataSet, "Customers");

oleDbDataAdapter2.Fill(myDataSet, "Orders");

oleDbDataAdapter3.Fill(myDataSet, "OrderDetails");

oleDbConnection1.Close();

dataGrid1.DataSource = myDataSet;

dataGrid1.DataMember = "Orders";

this.Text = " The table Orders is bound"

"to DataSet with no defined relationships";

}

Глава 22. Разработка баз данных при помощи шаблонов

22.1. Создание проекта sql Server Project

В Visual Studio 2005 существует еще несколько вариантов разработки баз данных с использованием специальных шаблонов проекта Database по следующей схеме. В VS щелкаем New Project (или File, New, Project), в панели New Project (рис. 22.1) в окне Project Types открываем папку Visual C# и выделяем Database, в окне Templates выделяем шаблон SQLServer Project; в окне Name оставляем записанное по умолчанию имя проекта SQLServerProject1, в окне Location оставляем по умолчанию (или выбираем новый) путь к папке, в которой будет расположен проект, щелкаем OK.

Появляется панель SQLServerProject1 (рис. 22.2), в окна которой мы должны записать (или выбрать из имеющихся) имена сервера и базы данных.

В данном примере видно (рис. 22.2), что на нашем компьютере имеется соединение сервера Z-1 с базой данных Northwind (которую мы уже применяли выше).

Щелкаем кнопку OK (рис. 22.2). Создается проект для базы данных.