如何在一个datagridview上合并2个数据库

本文关键字:datagridview 合并 2个 数据库 一个 | 更新日期: 2023-09-27 18:04:56

在一种形式中,我有2个DGV和2个数据库!,一个查看交易,一个查看标题详细信息(我只能显示一个交易),但我不能显示另一个显示标题详细信息

如何合并数据从2主键或ID从不同的数据库到一个视图内的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();
    }

如何在一个datagridview上合并2个数据库

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

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

当然,由于不知道字段的名称,我无法给出确切的SQL。

您还可以使用Join语法

我从您的要求中可以理解的是,您正在寻找数据库解决方案,如下所示:

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;