ADO数据库访问,关于使用LIKE进行含糊查找。(40分)
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
我想根据text1.text的字符串对数据表(包含若干个字段)进行含糊查找,这个SELECT语句应该如何写啊,请举个例子。
问题点数:40、回复次数:23Top
1 楼gpo2002(永吹不休)回复于 2002-04-23 03:03:42 得分 0
http://www.csdn.net/expert/topic/655/655257.xml?temp=.5801355
http://www.csdn.net/expert/topic/665/665991.xml?temp=6.160915E-03Top
2 楼dbcontrols(泰山__抛砖引玉)回复于 2002-04-23 07:47:06 得分 0
strSQL = "SELECT * FROM " & Combo4.Text & " Where " & DataGrid1.Columns(1).Caption & " Like '" & Text2.Text & "%'"Top
3 楼xyxy617(年糕)回复于 2002-04-23 08:09:49 得分 10
select * from 数据表 where 列名 like '"& text1.text &"%'Top
4 楼gxingmin(小高)回复于 2002-04-23 08:11:05 得分 10
"select * from tablename where fields like '%" & text1.text & "%'"Top
5 楼wuwutao(涛哥)回复于 2002-04-23 08:23:08 得分 0
同意楼上Top
6 楼zhongminsheng(小生)回复于 2002-04-23 08:40:43 得分 0
1. like "%" & text1.text & "%"
2. like "_" & text1.text & "_"
3. like "A" & text1.text
like "b" & text1.text
like "c" & text1.text
说明:
1。 “%”代表任意多个任意字符
2。“_”(下划线)代表一位任意字符
3。一个特定的字符打头的
Top
7 楼Rogal(俊逸)回复于 2002-04-23 08:44:15 得分 10
"select * from tablename where fields like '%" & trim(text1.text) & "%'"
Top
8 楼xuzhe(bulb)回复于 2002-04-23 10:00:22 得分 0
用ado的话要查询可以不用select 可以用rs.Filter = "列名 like ('" & text1.text & "*')"Top
9 楼jason_li(开拓者)回复于 2002-04-23 10:22:10 得分 0
"select * from tablename where fields like '%" & text1.text & "%'"Top
10 楼lzhzxl(云中人)回复于 2002-04-23 10:52:35 得分 0
字符串:
"select * from tablename where fields like '%" & text1.text & "%'"
日期:
"select * from tablename where fields like '#" & text1.text & "#'"Top
11 楼ohnoohno(有没搞错又说不)回复于 2002-04-23 12:01:30 得分 0
但是同时对两个字段含糊查找应该如何写?Top
12 楼ohnoohno(有没搞错又说不)回复于 2002-04-23 12:50:48 得分 0
各位请帮忙啊,同时对两个字段含糊查找应该如何写?
Top
13 楼shuzzz(小诚)回复于 2002-04-23 13:07:49 得分 0
select * from table where 字段1 like 查询值 or 字段2 like 查询值Top
14 楼zhongminsheng(小生)回复于 2002-04-23 13:20:02 得分 0
"..... 字段A like %" & text1.text & "% or 字段B like %" & text2.text & "%"
或者
"..... 字段A like %" & text1.text & "% and 字段B like %" & text2.text & "%"
用 and 还是 or 要看你的实际需要了!Top
15 楼tulip_hui(maple)回复于 2002-04-23 13:21:53 得分 0
select * from table where field1 like '"& text1.text &"'
note;
1. when text1.text="" select all the recordsets from table
Top
16 楼boyzy(努力中)回复于 2002-04-23 13:24:59 得分 0
select * from tablename where 字段1 like %" & 值1 & "% or(and) 字段2 like %" & 值2 "%"
对不同的字段类型变换一下就行了!Top
17 楼ohnoohno(有没搞错又说不)回复于 2002-04-23 13:46:46 得分 0
rs.Open "select * from data where name like '%" & Text4.Text & "%' and lx like '%" & Text4.Text & "%'", cn, 1, 1
像上面的写法为什么只能对name字段进行含糊查找,却没有对lx字段进行查找
rs.Open "select * from data where" & " name like '%" & Text4.Text & "%'" And "lx like '%" & Text4.Text & "%'", cn, 1, 1
这个写法,系统却错误提示说类型不匹配
那应该如何写才正确?
Top
18 楼boyzy(努力中)回复于 2002-04-23 15:22:37 得分 10
这样写:
rs.Open "select * from data where (name like '%" & Text4.Text & "%' and lx like '%" & Text4.Text & "%')", cn, 1, 1
Top
19 楼ohnoohno(有没搞错又说不)回复于 2002-04-23 16:02:01 得分 0
还是不行啊,这样写AND已经不是操作符了。Top
20 楼boyzy(努力中)回复于 2002-04-23 16:11:27 得分 0
你的name 和 lx 分别是和数据类型?Top
21 楼ohnoohno(有没搞错又说不)回复于 2002-04-23 17:01:07 得分 0
NAME字段和LX字段都是字符串的类型啊,TEXT1.TEXT也是字符串啊。
rs.Open "select * from data where (name like '%" & Text4.Text & "%' and lx like '%" & Text4.Text & "%')", cn, 1, 1
如果格式是正确的话,AND应该是蓝色的啊,但按照这句的写法,AND已经不是操作符了。Top
22 楼ohnoohno(有没搞错又说不)回复于 2002-04-23 20:42:00 得分 0
各位帮忙啊~~Top
23 楼boyzy(努力中)回复于 2002-04-24 08:45:57 得分 0
我用怎么有用啊!!!!!你是怎么用的呀!!!Top




