-1

我有两个数据表

数据表1:

id  name
--  ----
1   jhon
2   peter

数据表2:

city     country
---      -------
Sevilla  Spain
Granada  Spain

id是对应的。我需要连接这些数据表的列。

这是期望的结果:

id  name   city     country
--  ----   ----     -------
1   Jhon   Sevilla  Spain
2   Peter  Granada  Spain

任何的想法?

谢谢!

4

5 回答 5

1

我假设您的 DataTable 名称是 "DataTable1" 和 "DataTable2" ,您可以使用以下代码将它们合并到 DataTable1 中;

Datatable1.Columns.Add("city", typeof(string));
Datatable1.Columns.Add("country", typeof(string));

for (int i = 0; i < Datatable1.Rows.Count; i++)
{
    Datatable1.Rows[i][2] = DataTable2.Rows[i][0].toString();
    Datatable1.Rows[i][3] = DataTable2.Rows[i][1].toString();
}
于 2013-02-15T11:47:03.303 回答
0

您需要将主键添加到 table2,并在两个表之间添加关系。

于 2013-02-15T11:43:14.557 回答
0

使用下面的代码。

SqlDataSource1.ConnectionString = "--YOUR CONNECTION STRING--";
SqlDataSource1.SelectCommand = "select DataTable1.id,DataTable1.name,DataTable2.city,DataTable2.country from DataTable1,DataTable2
";
SqlDataSource1.DataBind();

好运 !

于 2013-02-15T11:54:31.930 回答
0

您可以使用 DataTable 类的 marge 方法

于 2013-02-15T11:54:46.867 回答
0

你可以受益于 linq

  1. 将您的数据表转换为 IEnumerable
  2. 然后你可以在它上面应用linq。

    var results = from myRow in DataTable1.AsEnumerable()
    var results2 = from myRow in DataTable2.AsEnumerable()
    
    var result3= from row1 in results
                  join row2 in results2
                   select new
                  {
                      row1.id,
                      row1.name,
                      row2.city,
                      row2.country
                 };
    
于 2013-02-15T12:07:31.923 回答