主從表設計


在C#中設置主從表有以下幾個重點:

1.設置表之間的關系 DataRelation

2.設置主從表的數據源 BindingSource

   關鍵是設計從表的數據源應為主表的數據源,它的DataMember應為主從表關系的名稱

以下為運行時的截圖,界面上有兩個datagridview

代碼(全在Form1構造函數中實現):

 

 public Form1()
        {
            InitializeComponent();

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True";
                conn.Open();

                DataSet ds = new DataSet();

                SqlDataAdapter sdaMaster = new SqlDataAdapter("Select * from Orders", conn);
                sdaMaster.Fill(ds, "Orders");

                SqlDataAdapter sdaDetail = new SqlDataAdapter("select * from [Order Details]", conn);
                sdaDetail.Fill(ds, "OrderDetails");

                //創建兩個表之間的關系
                DataRelation dr=new DataRelation("FK_Orders_OrderDetails",ds.Tables["Orders"].Columns["OrderID"],ds.Tables["OrderDetails"].Columns["OrderID"]);
                ds.Relations.Add(dr);

                //以下為創建數據源
                BindingSource bsMaster = new BindingSource();
                bsMaster.DataSource = ds.Tables[0].DefaultView;
               // bsMaster.DataMember = "Orders";

                BindingSource bsDetail = new BindingSource();
                 bsDetail.DataSource = bsMaster; //從表的數據源應該設置為主表的BindingSource
                bsDetail.DataMember = "FK_Orders_OrderDetails"; //從表的主從關系名

                dgvMaster.DataSource = bsMaster;
                dgvDetail.DataSource = bsDetail;
               

            }

        }
    

 

 

以下為其它的一些說明連接:

http://www.cnblogs.com/pegasus/archive/2008/08/31/1280712.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM