delphi中写sql语句真烦人,请帮忙修改一个sql,谢谢了!!!
山水无言 2004-08-11 10:40:15 我的form上有一个TRadioGroup(其中设置6个单选项)、两个TDateTimePicker、一个TButton、一个TDBgrid、一个TDataSource、一个TADOquery和一个TADOconnection。过程代码如下:
现在,在sql语局上出现了下列麻烦:
(1) 按照下面的语句运行,系统提示:应该日期的地方出现了字符串,下面的代码正确的应该怎么写?
(2) 原来,这一句:from table1 a,table2 b where a.zd2=b.zd2 and substr(b.zd2,1,2)=''TT'' and b.leixin_id=1是准备用like关键字写的:
'from table1 a,table2 b where a.zd2=b.zd2 and b.zd2,1,2 like 'TT%' and b.leixin_id=1 可是试了半天,就是没办法写出正确的语句,请问,如果用like关键字来写,应该怎么写?
不好意思,应该是很简单的问题,在此麻烦大家了。:)
procedure TForm11.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.Clear;
if radiogroup1.itemindex=0 then begin
sql.Add('select a.zd1,b.zd2,b.zd_date,b.beizhu ');
sql.Add('from table1 a,table2 b where a.zd2=b.zd2 and substr(b.zd2,1,2)=''TT'' and b.leixin_id=1 ');
sql.Add('and b.zd_date>=(to_date(:y_begin ,''yyyymmdd'')-1) and b.zd_date<=(to_date(:y_end,''yyyymmdd''))');
sql.Add('and b.STATE>0 and substr(a.zd1,1,2) in (''11'',''12'',''13'',''14'') ');
sql.Add('AND B.fwlx_id=1 and a.pppid not in (4,5,6) order by b.zd2');
parameters.ParamByName('y_begin').value:=t_begin.Date;
parameters.ParamByName('y_end').value:=t_end.date;
open;
end;
ShowMessage('搜索完毕!!!');
end;
end;