C# 将现有表中的数据行添加到新表
嗨,我想添加一个我从数据表返回的数据行到一个新的数据表 这是我使用的代码:C# 将现有表中的数据行添加到新表,c#,.net,ado.net,asp.net-3.5,datarow,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(); 问题
foreach (DataRow dr1 in dt.Rows)
{
string AptType = dr1["AppointmentType"].ToString();
if (AptType == "FreeTime")
{
dt2.ImportRow(dr1);
}
}
RadGrid2.DataSource = dt2;
reader.Close();
conn.Close();
问题是,当我运行带有表的页面时,我得到一个数据键错误,其中一列无法识别
提前感谢这两个数据表是否具有相同的模式?如果这些错误与列、数据类型或键不匹配,则可能会抛出这些错误。您应该使用类型化TableDataAdapters,我会让您的生活更轻松 这很容易做到,也很容易理解 遵循本教程 一旦你掌握了这个概念,你应该这样做:
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;
它们应该具有相同的模式,我以前没有这样做过。我需要先设置列,因为我认为克隆函数可以做到这一点。如果datatable 2是datatable 1的克隆,则不需要,反之亦然。Clone()复制所有列和约束。您可以发布表的简化模式吗?#TempEngineerGroupMain(AppointmentType VARCHAR(50)、BookedDate DateTime、BookedFromTime DateTime、BookedToTime DateTime、TotalDays INT、JobMins INT)这是我存储过程返回的临时表,很好,但没有帮助。你能发布准确的错误消息吗?谢谢你在这方面的帮助,我已经修复了它。这是一个表之间的模式错误的情况,我遭受睡眠抑制,没有注意到异常消息是什么