请教高手,关于delphi数据库模糊查询!!!!

memo1.Lines.Text:='select*fromczpdjwhereczrwzy='+''''+Edit1.Text+'''';withadoquery1do... memo1.Lines.Text:='select * from czpdj where czrwzy='+''''+Edit1.Text+'''';
with adoquery1 do begin
with sql do begin
close;
clear;
adoquery1.sql.Assign(memo1.lines);
end;
open
请问怎样改可以模糊查询?
把“memo1.Lines.Text:='select * from czpdj where czrwzy='+''''+Edit1.Text+''''; ”
改成“memo1.Lines.Text:='select * from czpdj where czrwzy like ''%'+Edit1.Text+'%'''; ”
或"memo1.Lines.Text:='select * from czpdj where czrwzy like '''+'%'+Edit1.Text+'%'+''''; ”
或"memo1.Lines.Text:='select * from czpdj where czrwzy like '+'''%'+Edit1.Text+'%'''; ”
都是输入空结果为表中全部记录,输入某行该字段全部内容结果为该字段其他行所有和本行相同的全部记录。
如一行记录为12345,那么输入:1234;123;12;1;2345;345;45;5,也能找到相应的记录。但是其他的组合方法有时能查到,有时结果却是空,我甚至找不到规律。
急求指教!
比如24;13等可能就查不出来,结果是空.

如果这样我的问题好象不好解决了,有没有其他办法呢?

在表中实现模糊查询,字段czrwzy中的记录有可能是多个汉字、数字和字母,希望任意输入都能找到所有符合条件的记录
展开
 我来答
百度网友122d3c8b1
2007-08-29 · TA获得超过520个赞
知道小有建树答主
回答量:1059
采纳率:0%
帮助的人:0
展开全部
memo1.Lines.Text:='select * from czpdj where czrwzy='+''''+'%'+Edit1.Text+'%'+''''; ”就可以如一行记录为12345,那么输入:1234;123;12;1;2345;345;45;5,也能找到相应的记录.但不知还有其他问题吗?
你的这种需求需要动态进行智能组合生成语句。sql是不会做这些的,他只能严格按照语法进行搜索。 你只能用 or 语句构造一个条件了。
你要作什么,也就是你这个功能有什么用.?

你的功能其实和百度搜索的智能单词有些相似,你最好到网上找找这方面的算法.如果不是必须的.还是去掉这些功能吧
cojn2000
2007-08-29 · TA获得超过100个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:93.1万
展开全部
迷糊不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式