0

您好,我有 2 个 SQL 表,我想合并它们以在datagridview. 我已经可以通过将其绑定到数据集来将其设置为查看一个,但是如何根据两个表都包含的公共 ID 号(例如)合并这两个?

当前 datagridview 填充代码(该函数被提供一个空的新 DataTable):

public void populateSingleDataGridView(DataTable dt,  DataGridView dg, string SN_DB_Name)
{
     string selectProgramString = "select * from " + SN_DB_Name;
     SqlDataAdapter sqlDataAdaptor = new SqlDataAdapter(selectProgramString,connectionString);
     dt.Locale = System.Globalization.CultureInfo.InvariantCulture;
     sqlDataAdaptor.Fill(dt);
     dg.DataSource = dt;
}
4

2 回答 2

2

您可以将两个表连接在一起:

select table1.Field1 as GridColumn1, table2.Field2 as GridColumn2
from table1
    inner join table2
    on table1.CommonId = table2.CommonId

如果您想保持当前代码不变,那么一种选择是创建一个视图,例如

create view GridData
as
    select table1.Field1 as GridColumn1, table2.Field2 as GridColumn2
    from table1
        inner join table2
        on table1.CommonId = table2.CommonId

然后您可以将视图名称传递给 SN_DB_Name。

注意:此选项将强制您为任何带有连接的查询创建视图。恕我直言,更好的选择是传递整个 sql 字符串。

祝你好运

于 2012-08-21T23:53:36.387 回答
0

//尝试在查询中使用别名 //像这样

从 YourTable1 a,YourTable2 b 中选择 a.ID_number,b.Column1,b.Column2 其中 a.ID_number=b.ID_Number

于 2012-08-22T07:02:44.670 回答