代码是这样写的:Dim SysConn1 As New ADODB.Connection 'Create a ADO Connection
Dim rsnew1 As New ADODB.Recordset 'Create a RecordsetWith SysConn1
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=" & OUserID.Text & ";Data Source=" & ODataSource.Text & ";Password=" & OPassword.Text
.Open
End Withrsnew1.CursorLocation = adUseClient
sql = "SELECT * FROM NODES"
rsnew1.Open sql, SysConn1, adOpenKeysetDebug.Print rsnew1.RecordCount将这条sql语句在查询分析器里执行,可以查到224条记录,但通过程序只能查出113条记录。
如果数据库里有338条记录,通过程序只能查出139条记录。
如果数据库里有10条或6条,即比较少的记录,通过程序能全部查出。我快疯了!!
Dim rsnew1 As New ADODB.Recordset 'Create a RecordsetWith SysConn1
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=" & OUserID.Text & ";Data Source=" & ODataSource.Text & ";Password=" & OPassword.Text
.Open
End Withrsnew1.CursorLocation = adUseClient
sql = "SELECT * FROM NODES"
rsnew1.Open sql, SysConn1, adOpenKeysetDebug.Print rsnew1.RecordCount将这条sql语句在查询分析器里执行,可以查到224条记录,但通过程序只能查出113条记录。
如果数据库里有338条记录,通过程序只能查出139条记录。
如果数据库里有10条或6条,即比较少的记录,通过程序能全部查出。我快疯了!!
rsnew1.Open sql, SysConn1, 3,3
试了,也不行
类似情况我也碰过,怎么解决的不记得了,好象一次不取那么多。
在Debug.Print rsnew1.RecordCount语句前面加上一句rsnew1.movelast肯定可以得到正确的个数。
Dim rsnew1 As New ADODB.Recordset 'Create a Recordset
SysConn1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=" & OUserID.Text & ";Data Source=" & ODataSource.Text & ";Password=" & OPassword.TextSysConn1.CursorLocation=adUseClient ******
Set rsnew1.Activeconntion=SysConn1
sql = "SELECT * FROM NODES"
rsnew1.Open sql
if rsnew!.RecordRount>0 then
Debug.Print rsnew1.RecordCount
endif
Dim rsnew1 As New ADODB.Recordset 'Create a RecordsetWith SysConn1
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=" & OUserID.Text & ";Data Source=" & ODataSource.Text & ";Password=" & OPassword.Text
.Open
End Withstrsql = "SELECT * FROM NODES"
if rsnew1.state=adstateopen then rsnew1.close
rsnew1.open strsql,sysconn1,adopenkeyset,adlockreadonlyDebug.Print rsnew1.RecordCount
rsnew1.MoveFirst
Debug.Print rsnew1.RecordCount