我是把一个表users里面的数据在拿出来之后,放到了dtusers,然后修改了备份到usersback(新的表,里面是空的,和原来的表结构一样,有主键)里面.我想批量上传所有数据,但是最后有报错.请高手指点.代码如下:
              string SqlstrSave2 = "SELECT * FROM usersback";
            SqlConnection scn = new SqlConnection(GetConn.ConnectionString);
            
            SqlDataAdapter adapter = new SqlDataAdapter(SqlstrSave2, scn);
            SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(adapter);            
            adapter.InsertCommand= cmdbuilder.GetUpdateCommand();
            adapter.Update(dtusers);违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条;

解决方案 »

  1.   

    adapter.InsertCommand= cmdbuilder.GetUpdateCommand(); 这句对么?
      

  2.   

    不好意思
    改成
    adapter.InsertCommand = cmdbuilder.GetInsertCommand();
    也是一样的
      

  3.   

     adapter.InsertCommand= cmdbuilder.GetUpdateCommand(); 
    是啥
      

  4.   

    不好意思,这里是贴错了
    改成
    adapter.InsertCommand = cmdbuilder.GetInsertCommand();
    也是一样的
      

  5.   

    adapter.UpdateCommand= cmdbuilder.GetUpdateCommand(); 
    adapter.Update(dtusers); 
      

  6.   

    adapter.UpdateCommand = cmdbuilder.GetUpdateCommand();adapter.Update(dtusers); 
     
      

  7.   

    adapter.InsertCommand = cmdbuilder.GetInsertCommand(); 
    这个当然违反了,再次插入按楼上的这个
    adapter.UpdateCommand = cmdbuilder.GetUpdateCommand();adapter.Update(dtusers); 
      

  8.   

                string SqlstrSave2 = "SELECT * FROM usersback"; 
                SqlConnection scn = new SqlConnection(GetConn.ConnectionString); 
                
                SqlDataAdapter adapter = new SqlDataAdapter(SqlstrSave2, scn); 
                SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(adapter);            
       // adapter.InsertCommand= cmdbuilder.GetUpdateCommand(); 
                adapter.Update(dtusers); 
      

  9.   


    不是这一行的问题,这里是贴错了.
    SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(adapter);
      

  10.   

    dtusers对应的数据库表是usersback吗?
      

  11.   

    usersback有没有和别的表建立关联或者有没有触发器,可能是关联的问题或者触发器?