关闭

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

标签: string数据库usersql测试
761人阅读 评论(0) 收藏 举报
分类:

 最近做程序遇到一个问题,即用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数据集,测试数据,一切正常。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:79657次
    • 积分:1221
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:29篇
    • 译文:0篇
    • 评论:13条
    文章分类