2014-05-25 33 views
0

在一种形式中,我有2个DGV和2个数据库!,一个查看事务,一个查看标题详细信息(即时只能显示一个事务),但是我不能显示其他一个显示标题详细信息如何在一个datagridview上合并2个数据库c#

如何将来自不同数据库的2个主键或ID中的数据合并到一个ViewGridView中的DataGridView中?

这是我的代码:

public HistoryTransaction() 
    { 
     InitializeComponent(); 
    } 

    private void HistoryTransaction_Load(object sender, EventArgs e) 
    { 
     //this is to get data from database 
     dataSource = con.executeQuery("SELECT * FROM TrHeaderTransaction"); 
     dataGridView1.DataSource = dataSource; 

     dataSource2 = con.executeQuery("SELECT * FROM TrDetailTransaction"); 
     dataGridView2.DataSource = dataSource2; 

     //to select data into dataTable 
     DataTable obj = con.executeQuery("SELECT * FROM TrHeaderTransaction"); 
     for (int i = 0; i < obj.Rows.Count; i++) 
     { 
      transBox.Items.Add(obj.Rows[i].ItemArray[0].ToString()); 
     } 
     transBox.SelectedIndex = 0; 
    } 

    private void CloseBtn_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
    } 

回答

0

我相信你需要做一个连接在数据库:

SELECT * FROM TrHeaderTransaction, TrDetailTransaction 
    WHERE TrHeaderTransaction.ID = TrDetailTransaction.HeaderID 

当然,不知道您的字段的名称,我不能给出确切的SQL。您可以使用Join语法。

0

什么我可以从你的要求明白的是,你要么寻找这是如下的数据库解决方案:

enter code here 

SELECT h.*,d.* FROM TrHeaderTransaction h, TrDetailTransaction d 
WHERE h.TrHeaderTransaction.ID = d.TrDetailTransaction.ID and 
h.TrHeaderTransaction.SID = d.TrDetailTransaction.ID 

or 

Alternatively you can do the same using datatables at the front end;