为何查询返回的记录总数总是-1
模块:
Public Conn As New ADODB.Connection '
Public Rec As ADODB.Recordset
Public Cmd As New ADODB.Command
Public strSql as string '存放 SQL 语句
'显示记录列表
Public Sub FillList()
strSql = "select name from functionsub"
Cmd.CommandText = strSql
Set Rec = Cmd.Execute
'************************************************
'为何记录总数总是返回-1,哪怕记录集中有上百条记录
'************************************************
Do While Not (Rec.Eof)
Form1.List1.AddItem Rec.Fields(0)
Rec.MoveNext
Loop
End Sub
'显示记录的详细内容
Public Sub ShowData(Byval sName As String)
strSql = "select * from functionsub where name = '" & sName & "'"
Cmd.CommandText = strSql
Set Rec = Cmd.Execute
'***********************************************
'这里的记录总数还是返回-1,虽然只有一条记录
'***********************************************
With Form1
.txtName.Text = Rec.Fields("name")
.txtLibrary.Text = Rec.Fields("library")
....
.txtSystem.Text = Rec.Fields("system")
End With
End Sub
初始化:
Private Sub Form_Initialize()
Dim strOpen As String
'初始化连接字符串
strOpen = "Provider=microsoft.jet.oledb.4.0;Data Source=" & CheckPath(App.Path) & _
"APIChecker.mdb"
Conn.Open strOpen '打开数据库
'FRec.Open "functionsub", Conn, adOpenStatic, adLockPessimistic
Cmd.ActiveConnection = Conn '设置 Cmd 对象的活动连接
End Sub