做一个winform程序,有2个表:表person,表personrole
表person字段为:c_id(主键),c_name
表personrole字段为:c_id(主键),c_roleid,c_personid,c_name 注:c_name在这个表里存储的值没实际意义,只是为了操作方便才这么设计
我在做修改更新操作时报错:违反并发性:updatecommand影响了预期1条记录中的0条
具体代码如下(把问题简化了):
//把数据取出来,发到dataset里
sqldataAdapter sd=new sqldataAdapter();
sd.selectcommand=new sqlcommand("select personrole.c_id,personrole.c_roleid,person.c_name from personrole inner join person on personrole.c_personid=person.c_id",sc);//sc是sqlconnection
sd.fill(ds,"personrole");
……对数据做了修改更新操作……//实际上是修改了某些行的c_roleid字段值
//把修改更新操作提交到数据库
sd=new sqldataAdapter("select c_id,c_roleid,c_name from personrole where c_id='" +ds.tables["personrole"].rows[0].itemarray[0]+ "'",sc);//把问题简化了
sqlcommandbuilder sqlcb=new sqlcommandbuilder(sd);
sd.update(ds,"personrole");
update时报错:违反并发性:updatecommand影响了预期1条记录中的0条
如果是手写updatecommand则不会报错,由于我一开始取数据的sql是联合查询,如果只是对单表查询取数据也不会报错,不过我想用联合查询一次把数据取出来
表person字段为:c_id(主键),c_name
表personrole字段为:c_id(主键),c_roleid,c_personid,c_name 注:c_name在这个表里存储的值没实际意义,只是为了操作方便才这么设计
我在做修改更新操作时报错:违反并发性:updatecommand影响了预期1条记录中的0条
具体代码如下(把问题简化了):
//把数据取出来,发到dataset里
sqldataAdapter sd=new sqldataAdapter();
sd.selectcommand=new sqlcommand("select personrole.c_id,personrole.c_roleid,person.c_name from personrole inner join person on personrole.c_personid=person.c_id",sc);//sc是sqlconnection
sd.fill(ds,"personrole");
……对数据做了修改更新操作……//实际上是修改了某些行的c_roleid字段值
//把修改更新操作提交到数据库
sd=new sqldataAdapter("select c_id,c_roleid,c_name from personrole where c_id='" +ds.tables["personrole"].rows[0].itemarray[0]+ "'",sc);//把问题简化了
sqlcommandbuilder sqlcb=new sqlcommandbuilder(sd);
sd.update(ds,"personrole");
update时报错:违反并发性:updatecommand影响了预期1条记录中的0条
如果是手写updatecommand则不会报错,由于我一开始取数据的sql是联合查询,如果只是对单表查询取数据也不会报错,不过我想用联合查询一次把数据取出来
解决方案 »
- tijiao.Click+=new System.EventHandler(btn)单击按钮不响应事件
- 怎么把数据库中的一张数据表中的图片字段里的2进制转换成图片放到picturebox里?
- 请教一个软件开发上的问题
- XtraNavBar控件,如何点击后,得到相应group的序号或caption名称?
- wise for windows 编译出错'无法通过Windows Installer 服务安装此安装程序包',急!!!!!!!
- 如何禁用ctrl+alt+del键和alt+tab键和ctrl+shift+esc键??
- c# 窗口图标显示,不正常!
- 怎样用C#做网络游戏???请教各位高手!!!
- 专家分少于500的兄弟来接分了!
- csdn败笔呀
- 隐藏域与服务器控件关联
- 招商银行个人银行专业版类似的软件,谁有了解说说呀
DeleteCommand的问题:检查是否含有自动编号字段
UpdateCommand的问题:检查更新的字段的原始值是否为空值
DataSet ds = new DataSet();
SqlDataAdapter sda;SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];