发信人: 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
两句,让系统自动清除,不知道会不会有问题,因为没试过。
|
|