关于 ado 记录动态查找的问题
请各位帮忙分析下面的代码
Dim con As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim access As String
access = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" &app.Path & "\data\zhangtao.mdb;" & "Persist Security Info=False"
con.Open access
rs.Open "select * from hsdw", con, adOpenStatic, adLockOptimistic
While Not rs.EOF
If Len(rs.Fields(1).Value > 0) Then
hsdw = rs.Fields(1).Value
List1.AddItem hsdw
rs.MoveNext
End If
Wend
Private Sub List1_Click()
Dim i As String
i = List1.List(List1.ListIndex)
rs.Open "select * from hsdw where 单位名称=" & i, con,adOpenStatic,adLockOptimistic
end sub
运行时为何提示 “数据类型不匹配“
数据库的字段 单位名称的类型是 dbtext ,我希望能根据listbox 的值动态查询.
问题点数:80、回复次数:5Top
1 楼diudiu2002(丢丢)回复于 2002-05-04 13:51:17 得分 50
Len(rs.Fields(1).Value > 0) 这句是不是写错了,Len(rs.Fields(1).Value) > 0 ; 另外,hsdw = rs.Fields(1).Value 没有这种赋值方法,hsdw 是表,rs.Fields(1).Value是字段的值,怎么能够赋值呢?还有,rs.Open "select * from hsdw where 单位名称=" & i,假如单位名称字段是字符串的话,应该加单引号 ,上句可改为:rs.Open "select * from hsdw where 单位名称='" & i & "'"Top
2 楼Jameszht(湖泊)回复于 2002-05-04 13:56:09 得分 20
如上Top
3 楼klbs52(快乐悲伤)回复于 2002-05-04 14:12:57 得分 0
不好意思,hsdw 在上面是一个变量,写错了
Top
4 楼diudiu2002(丢丢)回复于 2002-05-04 14:23:28 得分 10
那么就是rs.Open "select * from hsdw where 单位名称=" & i 没加引号出错,改过来就行。记得给分哦!Top
5 楼klbs52(快乐悲伤)回复于 2002-05-04 14:25:56 得分 0
问题解决,谢谢大家Top




