VB查询ACCESS数据库并返回查询结果。

2024-11-30 17:18:21
推荐回答(3个)
回答1:

rs.Open SQL, cn, adOpenStatic, adLockOptimistic
If rs.RecordCount <= a Then

改为:
rs.open sql,cn,adopenkeyset, adLockOptimistic
if rs.recordcount=0 then

最重要的旅庆是没有实例化对象。 面向对象的话一定要实例化对孝贺象, 如果你用VC++的话就会明白的, C++ ,Java等都要求实例化对象。

在:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
后添加:
set cn =new adodb.connection
set rs =new adodb.recordset

还有提供一个连接你看看:巧镇派里面有一个音乐播放器,有数据库的操作,完整的源代码和设计时窗体:
http://hi.baidu.com/0512109051

你可以看看,我写的,可以互相交流。

回答2:

1)rs.RecordCount <= a?a的值是多少?这里的a应配竖滚该是一个变量吧,又没赋值

2)SQL = "培余select a from tax where a = "" & Text1.Text & """?这句后面有3个双引号,好象有些不对,如果a是字符型的纤老话,写成:
SQL = "select a from tax where a = "'" & Text1.Text & "'"

回答3:

试试这个,如果还不行的话那你要检查数据库的内容是否有问题或Text1输团埋入的查询条件是否在数据毕或洞库中存在。

Private Sub Command1_Click()
Dim SqlStr as String

SqlStr = "select a from [tax] where a = '" & Trim(Text1.Text) & "'"
rs.Open SqlStr, cn, adOpenKeyset, adLockReadOnly
If rs.RecordCount > 0 Then
MsgBox "查询当前合符条件的记录数:" & CStr(rs.RecordCount), vbInformation, "验证信息"
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
Else
MsgBox "当前查询没有该记录!", vbCritical, "提示信息"
If rs.State = adStateOpen Then rs.Close
Exit Sub
End If
If Not (rs Is Nothing) Then
If rs.State = adStateOpen Then rs.Close: rs = Nothing
End If

End Sub

关于数据库连接、查询或相手枯关的问题,请参考我空间这里其中的代码: