这种情况该怎么写?

demonapple 2010-11-03 10:18:37
我从DBgrid中一条记录取到了一个ID,sqlserver中ID类型为整形

s:integer;
s:=DBGrid1.DataSource.DataSet.Fields[0].AsInteger;

然后怎么写语句去查另一个表中这个ID下的情况

ADOQuery.SQL.add('select * from lu where ID='''+s+'''');
这条语句是错的

...全文
134 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smile_ps 2010-11-05
  • 打赏
  • 举报
回复
ADOQuery.SQL.add('select * from lu where ID='+Quotedstr(inttostr(s)) );
gobiz 2010-11-05
  • 打赏
  • 举报
回复
使用ADOQuery的Parameters属性。
jianaixhb 2010-11-04
  • 打赏
  • 举报
回复
同意楼上写法,不再重复
kye_jufei 2010-11-04
  • 打赏
  • 举报
回复
 ('select * from lu where ID='+inttostr(s)+' );
bdmh 2010-11-03
  • 打赏
  • 举报
回复
ADOQuery.SQL.add('select * from lu where ID='+IntToStr(s));
软件钢琴师 2010-11-03
  • 打赏
  • 举报
回复
ADOQuery.SQL.add('select * from lu where ID='+inttostr(s));
软件钢琴师 2010-11-03
  • 打赏
  • 举报
回复
ADOQuery.SQL.add('select * from lu where ID='+s);
java程序员zbin 2010-11-03
  • 打赏
  • 举报
回复
1、s 是个integer类型;

2、ADOQuery.SQL 是TStrings类型;

3、ADOQuery.SQL.add('select * from lu where ID='''+s+'''');
add前半部分'select * from lu where ID='''是个string类型;

用format方式写SQL,不用考虑这些类型。
haitao 2010-11-03
  • 打赏
  • 举报
回复
如果是mssql,这样写好像也不会错的

2,498

社区成员

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

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