Компьютерная графика, мультимедиа и игры на Visual C#

       

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

Содержание раздела