紧急!!!快来看看这一段代码!关于数据库更新的!为什么.........????

lzy5042 2001-08-22 11:16:11
这段代码只能更新一条数据!我想要全部更新!!

Private Sub Command1_Click()
Dim rsTemp As ADODB.Recordset
Dim rsDes As ADODB.Recordset
Dim strDes As String
Dim strTemp As String
Dim i As Integer
Set rsTemp = New ADODB.Recordset
Set rsDes = New ADODB.Recordset
strTemp = "select * from info "
strDes = "select * from info2"
If rsDes.State = adStateOpen Then rsDes.Close
If rsTemp.State = adStateOpen Then rsTemp.Close
rsTemp.Open strTemp, cnTemp, adOpenDynamic, adLockOptimistic
rsDes.Open strDes, cnDes, adOpenDynamic, adLockOptimistic
If rsDes.EOF And rsDes.BOF Then rsDes.AddNew

For i = 0 To rsTemp.Fields.Count - 1
If Not IsNull(rsTemp(rsTemp(i).Name)) Then
rsDes(rsTemp(i).Name) = Trim(rsTemp(rsTemp(i).Name))
End If
Next
rsDes.Update
MsgBox "sucess!!!!!"

End Sub
谢谢了!!
...全文
727 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiaogangzhu 2001-08-24
  • 打赏
  • 举报
回复
用嵌套的语句来实现这个功能,就可以。
qiaogangzhu 2001-08-24
  • 打赏
  • 举报
回复
你是不是要把表一更新的纪录保存到表二里面去?如果是这样的话,我建议你把strTemp这个sql语句重新构造一下,只用在strtemp中查询出更新过的记录集。
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
你是说太少了???
haitao5676 2001-08-22
  • 打赏
  • 举报
回复
我只想感谢你的25分
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
haitao5676(笑纹):是的。谢谢!
也谢谢所有来这里的人!!!谢谢!!!!我十分感谢!!!
songyangk(小草) :我看不到你!!
laosan 2001-08-22
  • 打赏
  • 举报
回复
你是链接还是合并,大哥,能清楚点吗?你的话全是句号,我糊涂。
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
songyangk(小草) :为什么我看不到你???
haitao5676 2001-08-22
  • 打赏
  • 举报
回复
问题解决了吗?
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
haitao5676(笑纹) :对了!!!!!!!!!!!!对了!!!!!!
你说的对了!!!
songyangk(小草) :我一直在线
songyangk 2001-08-22
  • 打赏
  • 举报
回复
看不到你!
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
具体就是把第一个数据库中的数据添加到第二个数据库中去。当第一个数据库中的数据有了变化时。在次点击按钮。就把第一个数据库中的再次添加到第二个数据库中。这样,第二个数据库也随着第一个数据库更新了。我上面的方法就是要进行更新。所有的数据都要更新。
haitao5676 2001-08-22
  • 打赏
  • 举报
回复
你的锁定游标写错了,不应该用adLockOptimistic
应该用adLockPessimistic

lzy5042 2001-08-22
  • 打赏
  • 举报
回复
msn我一直在线
songyangk 2001-08-22
  • 打赏
  • 举报
回复
什么错?上MSN!!
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
还是不行!这次是 rsdes.movlast 错了!
laosan 2001-08-22
  • 打赏
  • 举报
回复
究竟是增加,还是更改?
若是增加用:rsDes.AddNew
若是更改用:rsDes.Edit
最后别忘了rsDes.Update。
另外,直接读rsTemp.recordcount是不行的,
要加上两句
rsTemp.movefirst
rsTmp.movelast
否则rsTemp.recordcount是等于1的。
希望能够解决。
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
ok,let me try it on.
songyangk 2001-08-22
  • 打赏
  • 举报
回复
在这句的上面加一句rsdes.movelast
lzy5042 2001-08-22
  • 打赏
  • 举报
回复
rsdes.addnew
songyangk 2001-08-22
  • 打赏
  • 举报
回复
哪句?
加载更多回复(20)

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧