将现有表中的数据行添加到新表

时间:2009-06-19 15:40:13

标签: c# .net ado.net asp.net-3.5 datarow

您好我想添加一个数据流,即我从数据表返回到新的数据表

这是我使用的代码:

foreach (DataRow dr1 in dt.Rows)
{
  string AptType = dr1["AppointmentType"].ToString();
  if (AptType == "FreeTime")
  {
    dt2.ImportRow(dr1);
  }
}
RadGrid2.DataSource = dt2;
reader.Close();
conn.Close();

问题是当我然后去运行带有表格的页面时,我得到一个datakey错误并且其中一列未被识别

提前致谢

2 个答案:

答案 0 :(得分:1)

两个数据表是否具有相同的架构?如果它们与列,数据类型或键不匹配,则可能会抛出这些错误。

答案 1 :(得分:0)

你应该使用Typed TableDataAdapters,我会让你的生活变得更轻松......

这很容易理解。

按照本教程Strongly Typed TableDataAdapters and DataTables

一旦你掌握了这个概念,就应该做这样的事情:

MyTypedTableAdapter tableAdapter = new MyTypedTableAdapter();
    MyTypedDataTable dt = tableAdapter.GetData();
    foreach (MyTypedDataRow row in dt.Rows)
    {
        string AptType = row.AppointmentType;
        if (AptType == "FreeTime")
        {
            dt2.ImportRow(row);
        }
    }
    RadGrid2.DataSource = dt2;