读书人

使用ImportRow的方法无法将数据导入库

发布时间: 2013-11-01 14:43:02 作者: rapoo

使用ImportRow的方法无法将数据导入库中,请大家看看是怎么回事?

使用ImportRow的方法无法将数据导入库中,请大家看看是怎么回事?
数据库为sql server 2008 r2
代码如下:
public static void ImportOriginalRow(DataRow dr)
{
using (SqlConnection conn = new SqlConnection(DBConnStr))
{
DataTable dt = new DataTable();
SqlCommand selectCMD = new SqlCommand("select top 1 * from T1", conn);

SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = selectCMD;

SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.Fill(dt);

dt.ImportRow(dr);
dt.AcceptChanges();

da.Update(dt);


}
}
[解决办法]
去掉dt.AcceptChanges();并保证新导入DataTable的行的行状态RowState为Added。
[解决办法]
t1表要有主键字段,如果还不行那要看一下错误信息是什么再调试
[解决办法]
用循环查看每一行的RowState:
for(....)
输出dt.Rows[i].RowState

如果新加入的行不为Added,就执行dt.Rows[i].SetAdded()方法,然后再更新。

读书人网 >asp.net

热点推荐