有一张表大概1万多条记录,首先插入,之后,马上点击查询按钮,可是这个记录不能备查询出来。
望解决。
con.execute("insert t1 values(10001)")
set rs=con.execute("select max(c1) as c1 from t1 ")
i=rs("c1")
msgbox(i)
解决方法:
1 使用记录集对象来插入记录:
con.curserlocation = aduseclient
rs.open "select * from t1", con
rs.addnew
rs!c1 = 10001
rs.update
rs.bookmark = rs.lastmodified
2 使用带有事件的 con
Dim WithEvents con as ADODB.Connection '必须在通用段中声明
Dim done As Boolean
Private Sub con_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
done = True
End Sub
Private Sub con_WillExecute(Source As String, CursorType As ADODB.CursorTypeEnum, LockType As ADODB.LockTypeEnum, Options As Long, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
done = False
End Sub
你的代码改为:
con.execute("insert t1 values(10001)")
Do Until done
DoEvents
Loop
set rs=con.execute("select max(c1) as c1 from t1 ")
i=rs("c1")
msgbox(i)