在一种形式中我有2个DGV和2个数据库!,一个用于查看事务,一个用于查看标题详细信息(我只能显示一个事务)但我无法显示另一个显示标题详细信息
如何将来自不同数据库的2个主键或ID的数据合并到一个View Form中的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 :(得分:0)
我相信您需要在数据库中进行联接:
SELECT * FROM TrHeaderTransaction, TrDetailTransaction
WHERE TrHeaderTransaction.ID = TrDetailTransaction.HeaderID
当然,不知道你的字段的名字,我不能给出确切的SQL。
您还可以使用Join语法。
答案 1 :(得分: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;