Dim dbcn As ADODB.Connection
Dim dbrs As ADODB.Recordset
Set dbcn = New ADODB.Connection
On Error Resume Next
dbcn.ConnectionString = "provider=sqloledb;Server=myserver;database=db;UID=uid;PWD=pwd"
dbcn.Open
Set dbrs = New ADODB.Recordset
With dbrs
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open "select * from tmptab", dbcn, adOpenDynamic, adLockOptimistic, -1
.AddNew
!id = 1000
!content = "c1"
.Update
End With
dbrs.Close
当tmptab中id是主键时,且存在id=1的纪录时,.update语句会报错“违反primary-key约束”,问题是接下来执行的dbrs.state=1,而dbrs.close语句执行时汇报错“在此环境中不允许操作。”,也就是说记录集无法关闭了,以后再用到dbrs的时候都会不正常,怎么回事,应如何解决?
Dim dbrs As ADODB.Recordset
Set dbcn = New ADODB.Connection
On Error Resume Next
dbcn.ConnectionString = "provider=sqloledb;Server=myserver;database=db;UID=uid;PWD=pwd"
dbcn.Open
Set dbrs = New ADODB.Recordset
With dbrs
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open "select * from tmptab", dbcn, adOpenDynamic, adLockOptimistic, -1
.AddNew
!id = 1000
!content = "c1"
.Update
End With
dbrs.Close
当tmptab中id是主键时,且存在id=1的纪录时,.update语句会报错“违反primary-key约束”,问题是接下来执行的dbrs.state=1,而dbrs.close语句执行时汇报错“在此环境中不允许操作。”,也就是说记录集无法关闭了,以后再用到dbrs的时候都会不正常,怎么回事,应如何解决?
If (Not rs.EOF) Then If rs.EditMode = adEditAdd Then rs.CancelUpdate
rs.Close
End If