将多个数据表结合起来

来源:互联网 发布:数据同化 编辑:程序博客网 时间:2024/05/01 03:24


  private System.Data.SqlClient.SqlConnection myConnection;
  private System.Data.SqlClient.SqlCommand    myCommand;
  private System.Data.SqlClient.SqlCommand    myCommand2;
  private System.Data.DataSet                 myDataSet;
  private System.Data.SqlClient.SqlDataAdapter myDataAdapter;
  private System.Data.SqlClient.SqlDataAdapter myDataAdapter2;
   //创建连接对象并打开它
   string connectionString="server=.;uid=sa;pwd=;database=northwind";
   myConnection = new System.Data.SqlClient.SqlConnection(connectionString);
   myConnection.Open();

   //创建DataSet,并设置其性质
   myDataSet=new System.Data.DataSet();
   myDataSet.CaseSensitive=true;
   
   //创建sqlCommand对象并赋值给它连接对象及select语句
   myCommand=new System.Data.SqlClient.SqlCommand();
   myCommand.Connection=myConnection;
   myCommand.CommandText="select * from Customers";

   myCommand2=new System.Data.SqlClient.SqlCommand();
   myCommand2.Connection=myConnection;
   myCommand2.CommandText="select * from Orders";

   //创建DataAdapter对象并传入SqlCommand对象,并创建表影射
   myDataAdapter=new System.Data.SqlClient.SqlDataAdapter();
   myDataAdapter.SelectCommand=myCommand;
   myDataAdapter.TableMappings.Add("Table","Customers");

   myDataAdapter2=new System.Data.SqlClient.SqlDataAdapter();
   myDataAdapter2.SelectCommand=myCommand2;
   myDataAdapter2.TableMappings.Add("Table","Orders");

   myDataAdapter.Fill(myDataSet);
   myDataAdapter2.Fill(myDataSet);

   //创建表之间的关系
   System.Data.DataRelation dataRelation;
   System.Data.DataColumn dataColumn1;
   System.Data.DataColumn dataColumn2;

   dataColumn1=myDataSet.Tables["Customers"].Columns["CustomerID"];
   dataColumn2=myDataSet.Tables["Orders"].Columns["CustomerID"];

   dataRelation=new System.Data.DataRelation("CustomersToOrders",dataColumn1,dataColumn2);
   
   myDataSet.Relations.Add(dataRelation);
   DataViewManager dataSetView=myDataSet.DefaultViewManager;
   customersDataGrid.DataSource=dataSetView;
   customersDataGrid.DataMember="Customers";

原创粉丝点击