请教高手,关于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中的记录有可能是多个汉字、数字和字母,希望任意输入都能找到所有符合条件的记录 展开
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中的记录有可能是多个汉字、数字和字母,希望任意输入都能找到所有符合条件的记录 展开
展开全部
memo1.Lines.Text:='select * from czpdj where czrwzy='+''''+'%'+Edit1.Text+'%'+''''; ”就可以如一行记录为12345,那么输入:1234;123;12;1;2345;345;45;5,也能找到相应的记录.但不知还有其他问题吗?
你的这种需求需要动态进行智能组合生成语句。sql是不会做这些的,他只能严格按照语法进行搜索。 你只能用 or 语句构造一个条件了。
你要作什么,也就是你这个功能有什么用.?
你的功能其实和百度搜索的智能单词有些相似,你最好到网上找找这方面的算法.如果不是必须的.还是去掉这些功能吧
你的这种需求需要动态进行智能组合生成语句。sql是不会做这些的,他只能严格按照语法进行搜索。 你只能用 or 语句构造一个条件了。
你要作什么,也就是你这个功能有什么用.?
你的功能其实和百度搜索的智能单词有些相似,你最好到网上找找这方面的算法.如果不是必须的.还是去掉这些功能吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询