首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

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

使用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()方法,然后再更新。

热点排行