求教VB查询SQL
发布网友
发布时间:2023-12-29 13:30
我来回答
共2个回答
热心网友
时间:2024-03-20 12:26
对象已关闭,不允许操作
就是说你没打开rst记录
=================================
你这样试试
sql= "select * from 图书信息库 where 书名= ' " & Text1.Text & " '"
rst1.open sql,ans1,3,3
我都是用这种方法打开的
=====================================
你参考下下面的连接方法:
Dim strsql As String
Dim ans1 As ADODB.Connection
Dim rst1 As New ADODB.Recordset
Set ans1 = New ADODB.Connection
ans1.CursorLocation = adUseClient
ans1.Open "Provider=SQLOLEDB.1;" & "Integrated Security=SSPI;" & "Persist Security Info=False;" & "Initial Catalog=mydb;" & "Data Source=PBZ"
set rst1=New ADODb.recordset
strsql= "select * from 图书信息库 where 书名= ' " & Text1.Text & " '"
rst1.CursorLocation = adUseClient
rst1.Open strsql, ans1, adOpenStatic, adLockBatchOptimistic
If Not rst1.EOF Then
rst1.MoveFirst
Text2.Text = rst1.Fields("状态")
End If
rst1.close
ans1.close
Set rst1 = Nothing
set ans1=nothing
end sub
热心网友
时间:2024-03-20 12:27
你的数据表的列名叫“状态”吗 ?
在这个语句
rst1.Open cmd, , adOpenStatic, adLockBatchOptimistic
前加一个
msgbox cmd
看看你的查询脚本有没有问题
是不是你的脚本根本就查不到记录信息 那样当然不会有显示
1、ans1.Open "Provider=SQLOLEDB.1;" & "Integrated Security=SSPI;" & "Persist Security Info=False;" & "Initial Catalog=mydb;" & "Data Source=admini"
改为
ans1.Open "dsn=admini"
2、end sun 改为 end sub
3、在end sub 前加:
rst1.close
set set1=nothing
ans1.close
set ans1=nothing
4、 Text2.Text= rst1.Fields("状态") 改为
if not rst1.eof then
rst1.movefirst
Text2.Text= rst1.Fields("状态")
end if