关于Update只更新奇数行的不能更新偶数行的问题

来源:互联网 发布:盲僧龙的传人淘宝 编辑:程序博客网 时间:2024/04/29 00:43

 最近做程序遇到一个问题,即用Update更新数据库时,只能更新、删除奇数行的数据,而操作偶数行的数据

程序则显示“并发冲突: UpdateCommand 影响 0 个记录”的错误。以程序代码说明如下。
删除代码如下:
                   string strsql= @"SELECT * FROM [User] WHERE UserID='"+code+"'";
   this.sqlDataAdapter1.SelectCommand.CommandText=strsql;
   ZZHuiYuan3DS ds=new ZZHuiYuan3DS();
   this.sqlDataAdapter1.Fill(ds);
   if(ds.User.Rows.Count==1)
   {
    ds.User[0].Delete();
    this.sqlDataAdapter1.Update(ds);
    return 1;

   }
   else
   {
    return 0;
   }
更新代码如下:
                   string sql= @"SELECT * FROM [User] WHERE UserID='"+code+"'";
   string shenhe="已审核";
   this.sqlDataAdapter1.SelectCommand.CommandText=sql;
   ZZHuiYuan3DS ds=new ZZHuiYuan3DS();
   this.sqlDataAdapter1.Fill(ds);
   if(ds.User.Rows.Count==1)
   {
    ds.User[0].ShenHe=shenhe;
    this.sqlDataAdapter1.Update(ds);
    return 1;

   }
   else
   {
    return 0;
   }
当程序执行到this.sqlDataAdapter1.Update(ds);时,若更新或删除奇数行时,程序正常进行更新或删除操

作,若更新或删除偶数行时,程序则显示“并发冲突: UpdateCommand 影响 0 个记录”的错误。
考虑到奇数行能够正常执行,说明程序代码没有问题,接下来查找配置的DS数据集,结果发现表User配置两

个DS数据集(原来配置了一个DS数据集,后来数据库发生变化重新配置了另一个DS数据集,简单的将原先的

数据集进行更新,而此时更新、删除操作指向的是原先的DS数据集--呵呵,这个就是问题所在了)。
解决方法:将更新、删除操作指向最新配置的DS数据集,测试数据,一切正常。