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的时候都会不正常,怎么回事,应如何解决?