第 1 行: '#' 附近有语法错误

yeyuanzhi2000 2010-07-30 09:07:51
原来这个程序用在ACCESS数据库是没问题的,但是我把这个数据库升级到sql2000后,就出现了问题:
编译运行后,提示:
第 1 行: '#' 附近有语法错误
相关代码如下:
begin
fstr:='SELECT t_saledet.bmh, t_saledet.clabel, t_ware.flh,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje FROM t_saledet,t_ware'
+' WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and t_saledet.bmh=''%s'' AND (t_saledet.clabel)=''%s'' AND ([t_saledet.rq])=#%s#'
+' group by t_saledet.bmh, t_ware.flh, t_saledet.clabel';
with aqrytdate do
begin
close;
sql.Clear ;
sql.Add(Format(fstr,[maskEdit6.text,maskedit5.text,datetostr(DateTimePicker1.Date)]));
Prepared;
open;
end;

跟踪后发现可能([t_saledet.rq])=#%s#'这个日期的问题,t_saledet表中rq字段是datetime类型
aqrytdate的SQL属性是:

SELECT t_saledet.bmh, t_saledet.clabel, t_ware.flh,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje
FROM t_saledet,t_ware
WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and (((t_saledet.bmh)=:vbmh) AND ((t_saledet.clabel)=:vlabel) AND ((CDate([t_saledet.rq]))=:vrq))
group by t_saledet.bmh, t_saledet.clabel,t_ware.flh;
...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
df978 2010-07-30
  • 打赏
  • 举报
回复
上面是Access sql语句

下面是SqlServer 语句
select * from table1 where rq> '2010-07-30'
df978 2010-07-30
  • 打赏
  • 举报
回复
select * from table1 where rq> #2010-07-30#
yudechibang88 2010-07-30
  • 打赏
  • 举报
回复
你可以把 aqrytdate.sql.text 取出来放在sql里面执行,这样就知道是怎么回事了。。。
varick_zhong 2010-07-30
  • 打赏
  • 举报
回复
不需要用#
musa2008 2010-07-30
  • 打赏
  • 举报
回复
SQL Server貌似不需要#吧,

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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