Delphi求解决 代码查询问题

youling446 2011-08-19 08:18:12
begin

sql1 := 'select isnull(a.ks_name,b.ks_name) as q,isnull(a.TotalZhichu,0) as w,isnull(b.TotalShouru,0) as e from ';
sql1 :=sql1+'(select ks_name,sum(zhichujine) as TotalZhichu from yz_qyzc where 1>0' +s1+ 'group by ks_name) a full join(select ks_name,sum(fyje) as TotalShouru from yz_qysr where 1>0 '+s1+' group by ks_name) b on a.ks_name=b.ks_name ';

if RadioButton1.Checked = true then
begin
s1 := 'and fydate>= '+''''+datetostr(DateTimePicker1.Date)+'''' + 'and fydate<= '+''''+datetostr(DateTimePicker2.Date)+'''';
end;


s1这个字段执行不了,哪写的不对????
...全文
49 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
youling446 2011-08-19
  • 打赏
  • 举报
回复
解决了 谢谢各位了 给分了 哈哈
youling446 2011-08-19
  • 打赏
  • 举报
回复
我先试试
cq_mark 2011-08-19
  • 打赏
  • 举报
回复
1.可以先写S1赋值语句,再写SQL1语句
2.写出完成的语句,带参数,再将时间变量传进去执行
bdmh 2011-08-19
  • 打赏
  • 举报
回复
前面的s1还没有赋值,把对s1的赋值放到sql1赋值的前面
纯冰糖 2011-08-19
  • 打赏
  • 举报
回复
sStart:=DateToStr(dtpStartDate.Date)+' '+TimeToStr(dtpStartTime.Time);
sEnd:=DateToStr(dtpEndDate.Date)+' '+TimeToStr(dtpEndTime.Time);

and fydate>=:pstarttime and fydate<=:pendtime;

Query.ParamByName('pstarttime').AsDateTime:=StrToDateTime(sStart);
...

试用参数进行赋值。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧