咨询sql语句where子句数字型字段问题
- Delphi(Pascal) code
procedure TForm1.DBGridEh1DblClick(Sender: TObject);var s_id:integer;begin //edit1.Text:=dbgrideh1.DataSource.DataSet.Fields[0].Text; s_id := strtoint(dbgrideh1.DataSource.DataSet.Fields[0].Text); with adoquery2 do begin close; sql.Clear; sql.Add('select p_id,s_o_serial,st_id,'); sql.Add('to_char(c_time,''yyyy-mm-dd hh:mi:ss'') 受理时间,'); sql.Add('to_char(f_time,''yyyy-mm-dd hh:mi:ss'') 归档时间 '); sql.Add('from e.o_p_order WHERE p_id=s_id'); //oracle数据库里p_id字段是数字型的,请问上一句正确的写法是怎样的?谢谢!!!!!! open; screen.Cursor:=crarrow; end;end;[解决办法]
用format函数。格式化。
[解决办法]
sql.text := 'select .............. where p_id=' + IntToStr(s_id);
[解决办法]
var
str: string;
begin
str:= 'my num is %d';
str := Format(str,[0]);
ShowMessage(str);
end;
[解决办法]
楼上正解。