精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓...数据库技术...〓〓>>小心:recordset对象的不正确操作引起错误

主题:小心:recordset对象的不正确操作引起错误
发信人: startrek()
整理人: gzwsh(2001-05-12 23:13:29), 站内信件
我在前面一篇帖子里提到的"Access数据库对重复键值不报错"的怪现象,
现在已查出原因,原来是对recordset对象的不正确操作引起的

在程序中要执行记录copy操作,相关代码如下:

Set po_rst = adoIrts.Recordset.Clone
po_rst.Bookmark = adoIrts.Recordset.Bookmark
......
adoIrts.recordset.addnew
For i = 0 To po_rst.Fields.Count - 1
  If po_rst.Fields(i).Name <> "ID" Then
     adoIrts.Recordset.Fields(i).value = po_rst.Fields(i).value
  End If
Next
'po_rst.Close        <======问题出现在这里
Set po_rst = Nothing

原来是没有po_rst.close语句的,在我的机上跑得好好的,但在
另外两台机上就死活不行:执行copy之后不改键值就保存不出错,
但实际没保存;copy之后改键值保存也不出错,但实际也不能保存!

加上po_rst.close之后就正常了
这个问题搞了我一整天,大家以后要小心,不要再犯我的错误了

ps:
如果最后不加
po_rst.close
set po_rst=nothing
两句,让系统自动清除,不知道会不会有问题,因为没试过。

[关闭][返回]