如何在一个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();
}
我相信你需要在数据库上做一个连接:
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;