不好意思!这条SQL语句都不会写,来抢分啊!

cmt123 2003-05-11 08:41:34
select * from Table where S_State=n 其中:S_State为整形,n也为整形。
在d6中出现错误,请问这条语句怎么样写啊!
...全文
26 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
seawavefj 2003-05-12
  • 打赏
  • 举报
回复
with ADOquery1 do
begin
Close;
sql.clear;
sql.add('select * from table where s_state='''+inttostr(n)+'''');
parambyname('s').AsInteger=n;
open;
end;
zjf27 2003-05-12
  • 打赏
  • 举报
回复
with ADOquery1 do
begin
Close;
sql.clear;
sql.add('select * from Table where S_State=:s');
parambyname('s').AsInteger=n;
open;
end;
iamycfwsy 2003-05-12
  • 打赏
  • 举报
回复
adoquery1.sql.add('select * from Table where S_State='+n+' ');
整形变量 应该使用 '+n+' 使用单绰号及加号来引用

其实对于整形变量 ,在数据库里定义为字符型还好,避免了这个引用的错误,需要用的时候再转回整形就行了
chenfreax 2003-05-12
  • 打赏
  • 举报
回复
sqlstr:=format('select * from table where s_state=%d',['''+n+''']);
chenfreax 2003-05-12
  • 打赏
  • 举报
回复
sqlstr:=format('select * from table where s_state=%d',['''+n+''']);
ourme 2003-05-12
  • 打赏
  • 举报
回复
sql.add('select * from table where s_state='''+inttostr(n)+'''');
试一下
dh9450 2003-05-11
  • 打赏
  • 举报
回复
错了错了 不好意思 唉 被老婆气昏了
整型不用加‘’的
sql.add('select * from table where'+ inttostr(s_state)+'='+inttostr(n));
或者
sql.add('select * from table where'+ inttostr(s_state)+'=:n);
adoquery.parameters.ParamByname('n').Value :=n;
open;
dh9450 2003-05-11
  • 打赏
  • 举报
回复
s_state你也是整形?但是字段名怎么可能是整型呢 在TQUERY里面参数前面要加 :
dh9450 2003-05-11
  • 打赏
  • 举报
回复
你的变量是在DELPHI里声明的吗 那SQL应该不认得吧
sql.add('select * from table where'+ inttostr(s_state)+'='+''''+inttostr(n)+'''');
试试
cmt123 2003-05-11
  • 打赏
  • 举报
回复
但n是为整形变量啊!救救我啊!
delphi_xizhousheng 2003-05-11
  • 打赏
  • 举报
回复
不好意思,没有注意看把代码贴出来了,你换一个ADOCONNECTION的PROVIDER试试
delphi_xizhousheng 2003-05-11
  • 打赏
  • 举报
回复
楼上几位那样写比较规范保险,但是不觉得select * from Table where S_State=n 这样有什么错误,是不是还有其他地方错误?要么。。。。。是不是又是ADO的问题(你用的是ADO么)
cmt123 2003-05-11
  • 打赏
  • 举报
回复
我的代码中是:
with adoquery do
begin
close;
sql.clear;
sql.add('select * from table where s_state=n');prepare;
open;
end;

其中:S_State为整形字段,n为整形变量!
cmt123 2003-05-11
  • 打赏
  • 举报
回复
我的代码中是:
with adoquery do
begin
close;
sql.clear;
sql.add('select * from table where s_state=n');prepare;
open;
end;
jxc163 2003-05-11
  • 打赏
  • 举报
回复
你代delphi中是怎么写的?

with adoquery do
begin
close;
sql.clear;
sql.add('select * from table where s_state=:s');
parambyname('s').value:=n;
prepare;
open;
end;
lf43 2003-05-11
  • 打赏
  • 举报
回复
query1.sql.clear;
query1.sql.add('select * from Table where S_State=:n');
query1.parambyname('n').asinteger=参数;
if query1.active then query1.close;
query1.open;

2,496

社区成员

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

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