跪求一个VB数据库查询程序

来源:百度知道 编辑:UC知道 时间:2024/05/25 17:43:09
就是一个二维表里面有温度("temp"+温度值)和压力(pressure)字段,通过在VB中输入温度和压力,再从数据库中查询对应的点,返回文本框……

我搞了好多天了,网上到处搜索,最终还是没有解决问题,总是错误不断……

附上我做的程序
Private Sub Cmd_Click()
Dim pressure, line As String
pressure = p.Text
line = "temp" + t.Text
Print line
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path + "\data.mdb"
rs.CursorLocation = adUseClient
SQL = "select " + line + " from dataZ where pressure =" + pressure
rs.CursorLocation = adUseClient
rs.Open SQL, cnn, adOpenDynamic, adLockPessimistic
Set DataGrid1.DataSource = rs
z.Text = rs
End Sub
调试的时候在最后这一句z.Text = rs提示类型不匹配,换了很多方法,到处搜索都不得行……小弟不才,希望指点……
当按照lzh741206说的改了运行之后,Set DataGrid1.DataSource = rs这句又出问题了!提示“实时错误424,要求对象”,最后删除了这

z.Text = rs(0)

没看懂你的SQL语句,你是希望根据温度文本框的值,把压力显示到压力文本框?
那么应该用"slecet 压力 from dataZ where pressure ='" & 温度.text & "' "
同理写用压力查找温度的SQL语句
在你的语句里RS是一个数据集合,不可能直接给Z.TEXT.肯定是类型不匹配.
应该是Z.TEXT=RS.FIELDS(0)'RILEDS(X)要看你要查找的数据在你的数据集合中排第几

z.text=rs("这里应该是一个字段,这样才能正确地返回值,否则,你的文本框它需要的是一个文本类型的,可是你把一个RS的记录集对象类型付给字符类型,当然不行了")