如何把多笔修改记录存储到数据库中

willdavis 2006-03-03 06:29:29
比如有一张单,有3笔记录。先我把这3笔记录显示出来。A,B,C
现在对A,不做任何改动。对B进行修改,把C改成D。
如果取消修改,则还是A,B,C
如果保存修改,则为A,B,D。
请问应该如何实现(先不考虑绑定)。
请各位给一个思路或则解决方案。
...全文
100 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
willdavis 2006-03-08
Dim rs6 As New Recordset
Dim SQL3 As String
Dim i, j, m, n As Integer

If rs6.State = 1 Then
rs6.Close
End If
SQL3 = "select TOP 0 * from EHGpofact "
rs6.CursorLocation = adUseClient
rs6.Open SQL3, pubStrConn, adOpenDynamic, adLockBatchOptimistic

Set rss = MSHFlexGrid3.DataSource
Set rs6 = rss.Clone

For m = 1 To rss.RecordCount
rs6.Delete
rs6.UpdateBatch
rs6.MoveNext
Next

为什么运行到
rs6.Delete
rs6.UpdateBatch
提示 current recordset does not support updating,this maybe a limitation of provider or of the selected locktype
请各位指点,哪里出了问题。原来还可以运行的。
回复
willdavis 2006-03-06
大家应该做过这样的程序。
就是把一张单据的多笔记录调出来进行修改,然后再保存。
我也想到了 Leftie(左手,为人民币服务)的方案,还有没有其他的更好的方案呢?
回复
christion3 2006-03-06
事件回滚
回复
willdavis 2006-03-06
只有这一种方案吗?
还有没有其他的方法?
回复
饮水需思源 2006-03-06
控件不绑定到数据,如果取消修改则重新显示原来数据,如果保存修改则保存时先删除A,B,C,再保存A,B,D
回复
willdavis 2006-03-06
能不能给一个例子。指点一下。
我用rs.UpdateBatch不行,插入数据会重复。不是我想要的效果。
回复
fj182 2006-03-06
首先,你要保证表中有唯一标示(比如主键)批更新才能成功。
回复
tkscjj 2006-03-06
我也想知道,,更改的数据总是不更新到数据库。。。
回复
willdavis 2006-03-04
没人遇到这种情况吗?
只好自己顶了
回复
fj182 2006-03-04
使用批更新
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2006-03-03 06:29
社区公告
暂无公告