作者:久久影视001 | 来源:互联网 | 2023-10-10 17:41
Select * From 表名 Where 条件 Like '%"& 条件 &"%'
上面的语句查询,有时候表中数据明明存在,但是却查询不到,有的时候明明表里只有一条数据,但是查询的结果却是这条记录重复显示好几次。
怎么回事呢?是数据过多吗?
10 个解决方案
1、运行环境?
Select * From 表名 Where 条件 Like '%"& 条件 &"%'
在ADO下,在ACCESS中
Select * From 表名 Where 条件 Like '*"& 条件 &"*'
2、没有遇到过此问题,不应该是数据过多的问题。
运行环境2003+IIS。
我把句中的LIKE换成“=”就没问题了。
我也遇到这个问题了~~!
select * from test where name='刘德华'
上面的语句没什么问题,返回一条记录!
可下面的几条语句都没有反应~何故??
select * from test where name like '%德华%'
select * from test where name like '刘德%'
楼主是怎么解决的呢??
关于此主题请参考以下文章(不要只看标题,请认真仔细地察看上述文章以及相关的评论):
新手来看:LIKE 语句到底如何组织?*和%该用哪个?《查询》
http://access911.net/index.asp?u1=a&u2=72FAB31E13DCEAF3
----------------------- 911 社区回帖个人签名 start -----------------------
http://access911.net/csdn 无须注册提供附件上传功能,如果你提问的时候有附件请到上述地址上传并将链接复制粘贴。
http://access911.net 用 7 年时间整理了大量有关 Access 的原创资料,请有空的时候多用文章搜索功能
如果您有兴趣加入ACCESS编程的专项研究可以来QQ群“ACCESS上海研究班”看看,加入的方法请看这里《个性化的access911.net(七)QQ 群加入规则(专门讨论 ACCESS 的 )》
http://access911.net/?kbid;72FAB01E16DCECF3
----------------------- 911 社区回帖个人签名 end -----------------------
向上看呦!
新手来看:LIKE 语句到底如何组织?*和%该用哪个?
作者:cg1 摘自:access911.net 编辑:cg1 更新日期:2004-10-8 浏览人次:936
专题地址:
http://www.access911.net/?kbid;72FAB31E13DCEAF3
简述:
新手来看:LIKE 语句到底如何组织?*和%该用哪个?《查询》
阅读前需掌握:
熟练掌握 VBA 编程;熟练掌握 JET SQL 语句
难度等级:
40
问题:
LIKE 语句到底如何组织?*和%该用哪个?
用like 不行,如何进行糊模查询?
回答:
在回答上述问题时你必须弄清楚你的环境
1、在纯 ACCESS 环境中,并且没有开启 ANSI SQL 兼容选项的情况下:
(菜单 -> 工具 -> 选项 -> 高级 -> SQL SERVER 兼容语法(ANSI 92) 中可以看到你是否开启了 ANSI 兼容,如果开启了,请使用 % 而不是 *)
在这种环境下仍然至少要分成3种情况
1.1、在 VBA 代码中组织 JET SQL 语句:
dim rs as new adodb.recordset
dim strSQL as string
dim 变量 as string
strSQL="select * from table where field like '*" & 变量 & "*'"
'如果是 ANSI SQL 兼容模式时,必须用
'strSQL="select * from table where field like '%" & 变量 & "%'"
'代替
'如果不使用变量可以直接这样组织
'strSQL="select * from table where field like '%字符串%'"
'strSQL="select * from table where field like '*字符串*'"
rs.open strsql ,adodb.connection,1,1
1.2、直接在新建查询中写 SQL 代码,并保存为一个查询备用
select * from table where field like '*' & forms!某个窗体名!控件名 & '*'
千万注意,不能写成以下形式,以下形式是错误的:
select * from table where field like '*forms!某个窗体名!控件名*'
1.3、在窗体的 RECORDSOURCE 数据源属性或者控件的 ROWSOURCE行来源属性中
在这种情况中,同1.2是相同的。
2、在纯 ACCESS 环境中,并且已经开启 ANSI SQL 兼容选项的情况下:
在这种情况下也一样至少要分3种情况
2.1、在 VBA 代码中组织 JET SQL 语句:
dim rs as new adodb.recordset
dim strSQL as string
dim 变量 as string
strSQL="select * from table where field like '%" & 变量 & "%'"
'如果是非 ANSI SQL 兼容模式时,必须用
'strSQL="select * from table where field like '*" & 变量 & "*'"
'代替
'如果不使用变量可以直接这样组织
'strSQL="select * from table where field like '%字符串%'"
'strSQL="select * from table where field like '*字符串*'"
rs.open strsql ,adodb.connection,1,1
2.2、直接在新建查询中写 SQL 代码,并保存为一个查询备用
select * from table where field like '%' & forms!某个窗体名!控件名 & '%'
千万注意,不能写成以下形式,以下形式是错误的:
select * from table where field like '%forms!某个窗体名!控件名%'
2.3、在窗体的 RECORDSOURCE 数据源属性或者控件的 ROWSOURCE行来源属性中
在这种情况中,同2.2是相同的。
3、在非 ACCESS 环境中,只是 VB ASP DELPHI 等调用 MDB 格式的文件的情况下:
以下以 VB 举例
dim strSQL as string
strSQL="select * from table where field like '%" & 某字符串变量名 & "%'"
access911.net 原创文章,作者本人对文章保留一切权利。
如需转载必须征得作者同意并注明本站链接
我就是在ASP中调用上面的SQL语句的。
3、在非 ACCESS 环境中,只是 VB ASP DELPHI 等调用 MDB 格式的文件的情况下:
以下以 VB 举例
dim strSQL as string
strSQL="select * from table where field like '%" & 某字符串变量名 & "%'"
我就是这样用的啊。
那非常明显,你的条件给错了
你必须详细说明表结构,字段类型,查询语句,变量类型等所有信息,否则无法帮你