多条件过滤的表达式如何写?(50分)

美惠

Unregistered / Unconfirmed
GUEST, unregistred user!
if DBEdit7.text='01' then
begin
with dsb_GLBZCX.datasetdo
begin

close;
SqlFiltered := False;
// SqlFilter := 'BMJB = '''+DBEdit7.text+''' ';
SqlFilter := 'BMJB ='''+DBEdit7.text+''''and 'BMJB ='''+02+'''';
SqlFiltered := True;
open;
end;
end;
系统提示 :could not convert variant of type(string) into type(integer)
 
还是用动态语句吧
sql.clear;
sql.add('select * from tablename where ,,,,'
 
SqlFilter := 'BMJB ='''+DBEdit7.text+''''+'and BMJB =''02''';
 
SqlFilter := 'BMJB ='''+DBEdit7.text+''''and 'BMJB ='''+02+'''';
==>
SqlFilter := 'BMJB ='+QuotedStr(DBEdit7.text)+'and BMJB ='+QuotedStr('02');
 
我用WAB和pink_wt的方法作了,但是返回的记录是零条
 
我用WAB和pink_wt的方法作了,但是返回的记录是零条
 
我用pink_wt和wab的做法作了但是返回的记录是零条。我是想把字段为01和02的记录都显示出来
 
改为
SqlFilter := 'BMJB ='+''''+DBEdit7.text+''''+''and 'BMJB ='+''''+'02'+''''+'';
 
那你应该是
SqlFilter := 'BMJB ='+QuotedStr(DBEdit7.text)+'Or BMJB ='+QuotedStr('02');
 
同一条记录的同一个字段怎么可能同时有不同的两个值呢,当然是用or而不是and了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
564
import
I
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
701
import
I
顶部