在delphi中用select语句进行模糊查询如何写

fangsome 2000-12-14 09:26:00
请看如下
'Select * from xx where item like ''2PC'''
这样好象是不行的
...全文
445 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
AaronChengBJ 2000-12-17
  • 打赏
  • 举报
回复
BDE和ODBC都很令人心烦,我不喜欢用它们,太慢了.我觉得使用ADO更快,更稳地,更有效率.
用ADO直接连接数据服务器或数据库就可以直接使用标准的SQL语句了,然后直接看书就行了.
AaronChengBJ 2000-12-17
  • 打赏
  • 举报
回复
我有不同见解.

如果你用的是BDE引擎,那么通配符应该用 '*','_'
如果你用的是ODBC引擎,那么通配符应该是 '%','_'

而与具体的数据库好想没什么关系.
http://go.163.com/~ssudi
gaoql 2000-12-17
  • 打赏
  • 举报
回复
来晚了!
cocia 2000-12-15
  • 打赏
  • 举报
回复
呵呵,
select 大全啊,
来晚了!
lowhand 2000-12-15
  • 打赏
  • 举报
回复
也可以用参数的方法做,我觉得这样看起来清晰一些
VAR
S:STRING;
BEGIN
QUERY1.CLOSE;
QUERY1.SQL.CLEAR;
QUERY1.SQL.ADD('SELECT * FROM XX WHERE ITEM LIKE :PARAMETER1');
QUERY1.PARAMBYNAME('PARAMETER1').ASSTRING:='%'+S+'%';
QUERY1.OPEN;

END;
supershan 2000-12-15
  • 打赏
  • 举报
回复
以上回答都不完全,ACCESS用的是'*'
fangsome 2000-12-14
  • 打赏
  • 举报
回复
但是如果在对变量进行模糊查询时
var
scomt:string;

则select语句应该如何写呢。
largewang 2000-12-14
  • 打赏
  • 举报
回复
更正一下:
Condition := ...... + ' Where Item like ' + '''' + '__abc' + '''';
Condition := ...... + ' Where Item like ' + '''' + '%abc%' + '''';
largewang 2000-12-14
  • 打赏
  • 举报
回复
不确定长度用“%”
Select * from Table_Name where Item Like ''%abc%''
(只要有'abc'的都选出来)
固定长度用“_”
Select * from Table_Name where Item Like ''__abc___''
('abc'在3-5位置才选出来)
如果在Delphi中使用变量表示条件,一定要在在变量中加引号
var
Condition : String;
begin
Conditon := """" + '__abc___' + """";
Conditon := """" + "%abc%" + """";
end;
andyou2000 2000-12-14
  • 打赏
  • 举报
回复
'Select * from xx where item like ''%2PC'''
'Select * from xx where item like ''%2PC%'''
'Select * from xx where item like ''2PC%'''
uestc_yrq 2000-12-14
  • 打赏
  • 举报
回复
晚了
给hong-tian说了
mini_fx 2000-12-14
  • 打赏
  • 举报
回复
嘿,来晚了
hong_tian 2000-12-14
  • 打赏
  • 举报
回复
var
s:string;
query1.close;
qiery1.sql.clear;
query1.sql.add(format('select * from xx where item like ''%s%''',[s])
query1.open;

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧