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