我用Adodc和DataGrid连接和显示数据库,在程序界面用一个TextBox(Textquery)和一个命令按钮(Commandquery)做一个查询,想在TextBox里输入要查询的东西,然后按命令按钮就能得到查询结果。但比如我输入sss,点Commandquery后,DataGrid显示表里所有记录,怎么回事?
Private Sub CommandQuery_Click()
Dim mysql As String
Set Cn = New ADODB.Connection
Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=F:\VBDtatabase\mateford2.mdb"
Cn.Open
mysql = "select * From 表项 where LOTNO = ' "&TextQuery.Text & " ' "
Set Rs = New ADODB.Recordset
Rs.Open mysql, Cn, adOpenStatic
Set DataGrid1.DataSource = Rs
End Sub
Private Sub CommandQuery_Click()
Dim mysql As String
Set Cn = New ADODB.Connection
Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=F:\VBDtatabase\mateford2.mdb"
Cn.Open
mysql = "select * From 表项 where LOTNO = ' "&TextQuery.Text & " ' "
Set Rs = New ADODB.Recordset
Rs.Open mysql, Cn, adOpenStatic
Set DataGrid1.DataSource = Rs
End Sub
mysql = "select * From 表项 where LOTNO = '" & TextQuery.Text & "'"
你' "之间有空格
cn.CursorLocation = adUseClient
Rs.CursorLocation = adUseClient
Rs.Open mysql, Cn, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = Rs
如果字段LOTNO是数值型:
mysql = "select * From 表项 where LOTNO = "& TextQuery.Text
如果字段LOTNO是文本型:
mysql = "select * From 表项 where LOTNO = ""& TextQuery.Text &"'"
mysql = "select * From 表项 where LOTNO = '"& TextQuery.Text &"'"