Архитектура доступа к данным 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";
}