将一个DataTable中的数据按条件复制到另一个DataTable中的时候
出现“该行已经属于另一个表”的错误
dtReturn.Rows.Add(dt.Rows[0].ItemArray); //--这是正确的, 关键是加上这一个ItemArray
private DataTable GetAllSons(string MemberID)
{
DataTable dtReturn =new DataTable();
string sql = " select * from view_MemberInfo where RecommenderID=" + MemberID;
if (btnSearch.CommandName.Equals("search") && !string.IsNullOrEmpty(txtKeyword.Text))
{
sql += " and Name='" + txtKeyword.Text.Trim() + "'";
}
sql = sql + " Order by AddDate Desc";
DataTable dt = MEMBER.CreateDataTable(sql);
dtReturn = dt.Clone();
if(btnSearch.CommandName.Equals("search") && !string.IsNullOrEmpty(txtKeyword.Text))
{
if(dt.Rows.Count> 0)
{
//dtReturn.Rows.Add(dt.Rows[0]); //--出现“该行已经属于另一个表”的错误
dtReturn.Rows.Add(dt.Rows[0].ItemArray); //--这是正确的
}
}
else
{
foreach (DataRow row in dt.Rows)
{
GetOneRow(dtReturn, row);
}
}
return dtReturn;
}