adoquery的参数赋值问题。(100分)

  • 主题发起人 主题发起人 kingstar106
  • 开始时间 开始时间
K

kingstar106

Unregistered / Unconfirmed
GUEST, unregistred user!
With datamodule3.ADOQuery3 do
Begin
close;
Sql.Clear;
Sql.Add('select * from medicine where datediff(day,date_buy,getdate())<(time+:sd);' );
Parameters.ParamByName('sd').DataType:=ftinteger;
parameters.ParamByName('sd').value:=strtoint(edit3.text);
open;
End;
编译通过,运行时出错:
the applicatioin is using arguments that are of the wrong type,are out of
acceptable range,or are in conflict with another one.
请高手指点。
送上仅有的100分。

 
AdoQuery.close;
AdoQuery.sql.clear;
AdoQuery.sql.add('select * from medicine where datediff(day,date_buy,getdate())<(time+:sd)' )
AdoQuery.parameters.paramvalue['sd']:=...
AdoQuery.open

另外,你的sql里的那个‘;’不用也罢
 
是不是类型错了,
Parameters.ParamByName('sd').DataType:=ftinteger;这一句?
你不是用的时间类型的嘛,怎么设为integer了?
 
萧月禾:
还是不对,那个“;”号要不要都一样。
铁锈 :
没错,是整型,datediff()得到的就是整型的。
 
要打补丁的,还是用query控件了
 
多人接受答案了。
 
后退
顶部