zoukankan      html  css  js  c++  java
  • 主从表设计

    在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

  • 相关阅读:
    Educational Codeforces Round 86 (Rated for Div. 2) D. Multiple Testcases
    Educational Codeforces Round 86 (Rated for Div. 2) C. Yet Another Counting Problem
    HDU
    HDU
    HDU
    HDU
    Good Bye 2019 C. Make Good (异或的使用)
    Educational Codeforces Round 78 (Rated for Div. 2) C. Berry Jam
    codeforces 909C. Python Indentation
    codeforces1054 C. Candies Distribution
  • 原文地址:https://www.cnblogs.com/yagzh2000/p/3030299.html
Copyright © 2011-2022 走看看