用query查询时的问题!(50分)

  • 主题发起人 主题发起人 wmff
  • 开始时间 开始时间
W

wmff

Unregistered / Unconfirmed
GUEST, unregistred user!
在使用query进行查询时,想查询,假设有四个条件,想使其中一个等于我想得到的值,而
其他三个等于空。语句如下:with inputdatamodule.shixianquery4 do
begin
close;
sql.clear;
sql.add('select count(date1) from temp a');
sql.add('where a.date1>=:da');
sql.add('and a.date1<=:da1');
sql.add('and a.author1=:aut');
sql.add('and a.author2=:kong');
sql.add('and a.author3=:kong');
sql.add('and a.author4=:kong');
parambyname('kong').asstring:='';
parambyname('aut').asstring:=Aname;
parambyname('da').asdate:=form1.fromDBDateTimePicker2.date;
parambyname('da1').asdate:=form1.toDBDateTimePicker2.date;
prepare;
open;
k4:=fieldbyname('COUNT OF date1').asstring;
T4:=T4+strtofloat(k4);
end;

为什么“parambyname('kong').asstring:='';”这句一直出错,将这个条件删除即可得出
结果,如果加上后就永远统计结果为0。是不是空格的表示方法不对?
请各位高手赐教,小弟不胜感激!谢谢!
 
ParamByName('kong').IsNull := True;
 
sql.add('and a.author2=:kong1');
sql.add('and a.author3=:kong2');
sql.add('and a.author4=:kong3');

parambyname('kong1').asstring:='';
parambyname('kong2').asstring:='';
parambyname('kong3').asstring:='';
 
Another_eYes:
编译时就出错了:[Error] fujia.pas(240): Cannot assign to a read-only property
R_Baggio:这样也不行!
 
parambyname('kong').value:=null;试试!
 
windpray 的做法是对的。
 
sql.add('select count(date1) from temp a');
sql.add('where a.date1>=:da');
sql.add('and a.date1<=:da1');
sql.add('and a.author1='+quotedstr('aut'));
sql.add('and isnull(a.author2)');
sql.add('and isnull(a.author3)');
sql.add('and isnull(a.author4)');
用以上的参数就可以了!
零长度字符串与空是两个不同的概念。
 
windpray,like:执行后出错! value 'kong' is of a unknown type!
hhzh426:还是错!
 
也许提示的是第二个kong,你把第二个和第三个改成kong1和kong2试试,
看看是什么提示!
<b><marquee>只是猜测没有做试验</marquee></b>
 
sql.add('and a.author2=:kong1');
sql.add('and a.author3=:kong2');
sql.add('and a.author4=:kong3');

parambyname('kong1').asstring:=null;
parambyname('kong2').asstring:=null;
parambyname('kong3').asstring:=null;
试试行不行?
 
这个问题我碰到过好几次了!最简单的就是这样:
......
sql.add('and a.author2 is null');
sql.add('and a.author3 is null');
sql.add('and a.author4 is null');
......
 
谢谢wind2000,同时谢谢各位参与讨论的网友们!谢谢你们!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部