关于用ADO控件的日期查询!(100分)

  • 主题发起人 主题发起人 qianlai
  • 开始时间 开始时间
Q

qianlai

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery2 do
begin
CLOSE;
SQL.CLEAR;
SQL.Add('select * from table1 where 失效期>=:tt');
ParamByName('tt').AsDateTime :=datetimepicker1.date ;
perpare;
OPEN ;
end;
各位朋友,我用上面的语句老是出错,ParamByName、perpare都不认
难道用ADO的控件还有很多特殊的地方???(ado已连到本地的
数据库中了)
 
不要用parambyname 与 prepare
ADO 控件不认,
你可以用params.value代替parambyname
prepare摒弃不用
 
用parmmeters就可以解决了参数的问题
但是我还有不明白的地方?在adoquery中
object inspecter 中parmmeters的属性
明明有perpared属性,为什么在程序中写会不承认?
datetimepicker是不是有2000年问题,查询结果2001年3月1号居然
大于2002年2月14日,大家有何解释?
 
使用adoconnection控件连接数据库,同时不要通过odbc连接
 
不需要使用prepare(自动)

adoquery.Parameters.ParamByName(''xxx').AsDateTime:=xxx
 
prepare可用属性prepared代替.设置adoquery.prepared:=true;
参数的另一种用法:
adoquery.parameters.paramvalues['tt'].asdatetime:=datetimepicker1.datetime;

 
prepare摒弃不用;
ParamByName('tt').VALUE:=datetimepicker1.date ;

 
由于ADOQuery中参数类型统一采用OLEVariant类型,
因此赋值的方式如下:
adoquery.parameters.paramByName['tt'].value:=datetimepicker1.datetime;
并且不需要Prepare
 
多人接受答案了。
 
后退
顶部