新手小白,关于数据删除后更新到数据库的问题。

没有系统地学过vb.net 最近一段时间自己摸索着做,可能解决这个问题的方法很低级很简单,也请大家不要生气,帮帮忙说一下,感激不尽。
现在已经有个数据表在dataset中名为table1,将其更新到数据库中,但是数据库中内容没有变。查询得到table1,与datagrid1进行绑定,在datagrid1中按行进行删除数据,之后更新到数据库,数据库数据无变化,应该用什么样的更新语句才能达到删除的效果?
主要代码如下:
查询部分:s1=sql语句
rs.open(s1,cn,1,3)
da.fill(ds,rs,“table1”)
设置绑定到datagrid1
删除部分
n=datagridview1.currentrow.index
ds.tables(“table1”).rows.removeat(n)
datagridview1.refresh
更新到数据库:
s1=sql语句
dim com1 as new oledbcommand(s1,con)
da.selectcommand=new oledbcommand(s1,con)
da.update(ds,“table1”)

通过datagridview2也绑定到table1上看,table1的数据已经删除了,现在感觉是数据库中的数据比table1的多,table1只是更新了自己的数据进去,我希望可以做到符合该sql语句的数据最后只剩下table1中的数据以达到删除的效果,应该怎么实现?谢谢!

2个回答

应该是你没有执行commit指令进行递交

qq_32341135
LRHuoLang19 回复LRHuoLang19: 那你应该是在往表2更新数据后就执行commit指令,然后再删除表1的数据
大约 4 年之前 回复
qq_32341135
LRHuoLang19 回复sinat_35328892: 不是太清楚你的意思,你是要将表1的数据克隆到表2中去吗?然后删除表1的数据,但是保留表2的数据?
大约 4 年之前 回复
sinat_35328892
Ivan srie 另外的添加功能是通过删掉读取的表1里所有内容再在表1输入新的内容,然后再读取一遍数据到表2,将表2与表1合并实现的添加功能,然而这个功能里面表2为空却实现了删除所有数据的效果。。。说明确实是删除功能的保存有问题,可是commit要怎么
大约 4 年之前 回复

ds.tables(“table1”).rows.removeat(n)这一行写的有问题,应改为ds.tables(“table1”).rows(0).delete(),也就是说要用datarow的delete方法,不能用datarowcollection的removeat方法,delete方法会将datatable中datarow的状态改为deleted,而removeat方法会将datarow的状态改为detached,相当于将datarow直接从datatable中移除了。调用dataadapter的update方法时,会为每条状态为deleted的datarow执行DeleteCommand中的语句,而状态为detached的datarow则被忽略掉。DataAdapter不会为状态为detached的datarow执行DeleteCommnad语句中指定的sql语句或存储过程

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐