关于数据库模糊查询的问题!请大家多多发表意见!高分相送!来者有分!

qygd 2002-11-29 08:58:55
那位老兄请指教指教:我要实现对一个表模糊查询,连接用ADOTable1,只要使用该组件的过滤功能!对该表DZMC,RQ.....等字段模糊查询,并且字段输入都使用EDIT编辑框。该怎么写呀?
我写了第一个过滤条件为什么不行?举个例子:
procedure TForm2.Button1Click(Sender: TObject); //模糊查询
var
str_DZMC,str_RQ:string;
BEGIN
if Trim(Edit1.Text)='' then
str_dzmc:=''
else if Trim(Edit1.Text)<>'' Then
str_dzmc:=' and dzmc='+''''+Trim(Edit1.Text)+'*'+'''';
Form1.ADOTable1.Filter:=Str_dzmc;
Form1.ADOTable1.Filtered:=True;
Form1.ADOTable1.open;
close;
if Form1.ADOTable1.RecordCount=0 then
showMessage('没有查询到符合条件的数据。');
END;
...全文
36 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ain2000 2002-12-06
是呀
adoquery 比adotable 灵活多了,基本table 功能都能实现.
回复
大米团 2002-12-06
为什么不用query+sql语句呢?
回复
256m 2002-12-05
字段 Like '%XXX%'
回复
zhangqiufk 2002-12-05
up
回复
zssyf 2002-11-30
用ADOQUERY 吧,将参数用EDIT导入。
回复
qygd 2002-11-30
我的E-MAIL是:qygd@163.com
回复
searoom 2002-11-30
var
sSearch:string;
sFilter:string;
begin
sSearch:=trim(Edit.text);
sFilter:='';
if sSearch<>'' then
sFilter:='DZMC like ''%'+sSearch+''' or RQ like ''%'+sSearch+'%''';

Form1.ADOTable1.Close;
Form1.ADOTable1.Filtered:=false;
Form1.ADOTable1.Filter:=sFilter;
Form1.ADOTable1.Filtered:=True;
Form1.ADOTable1.open;
end;

----------------------
好像 ADO 和 BDE 有区别底,BDE 用的是 col='val*',呵呵,很怪的那种
回复
tangyong_delphi 2002-11-30
我做过,请给我电子邮件!
回复
flysky66 2002-11-30
以后可以考虑用clientDataSet
回复
pandarus 2002-11-30
都說完了,只好來接分了.
回复
chenjiong 2002-11-29
'''''的问题,去掉几个试试就行了。
回复
dschebei 2002-11-29
showmessage(str_dzmc)看看,什么样的?
回复
smilelhh 2002-11-29
if Trim(Edit1.Text)='' then
str_dzmc:=''
else
str_dzmc:=' dzmc='+''''+Trim(Edit1.Text)+'*'+'''';
去掉and 试试
回复
bluemeteor 2002-11-29
把and去掉

为什么不用ADOQuery?
回复
lghzl 2002-11-29
procedure TForm2.Button1Click(Sender: TObject); //模糊查询
var
str_DZMC,str_RQ:string;
BEGIN
if Trim(Edit1.Text)='' then
str_dzmc:=''
else if Trim(Edit1.Text)<>'' Then
str_dzmc:=' dzmc='''+Trim(Edit1.Text)+'''*'''+'''';
Form1.ADOTable1.Filter:=Str_dzmc;
Form1.ADOTable1.Filtered:=True;
Form1.ADOTable1.open;
close;
if Form1.ADOTable1.RecordCount=0 then
showMessage('没有查询到符合条件的数据。');
END;
这样试一下
回复
blueshu 2002-11-29
同意: smilelhh(blue)
回复
bingshi 2002-11-29
多了个AND
回复
相关推荐
发帖
数据库相关
创建于2007-08-02

2456

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2002-11-29 08:58
社区公告
暂无公告