我用Select * from t where mytime = :t
adoquery1.parameters.parambyname('t').value := date;
adoquery1.open;
来执行查询,结果得到如下出错信息:
[Microsoft][ODBC SQL Server Driver]没有执行可选特性。为什么呢?如何查询MS SQL SERVER 的时间日期字段?谢谢。

解决方案 »

  1.   

    试试
    adoquery1.parameters.parambyname('t').value := now;
      

  2.   

    Select * from t where mytime = :t
    adoquery1.parameters.parambyname('t').asstring:= datetostr(date);
    adoquery1.open;
      

  3.   

    Select * from t where mytime = cast(:t as DateTime)
    adoquery1.parameters.parambyname('t').asstring:= dateTimeToStr(date);
      

  4.   

    Select * from t where mytime = :t
    adoquery1.parameters.parambyname('t').asstring:= DateTimeToStr(now);
    adoquery1.open;
      

  5.   

    sqLstr:='Select * from t where mytime = :t';
    SQL.Clear;
    sql.Add(sqlstr);
    Parameters.ParseSQL(SQL.Text, True);
    Parameters.Items[0].Size:=20
    adoquery1.parameters.parambyname('t').value := datetostr(date);
    adoquery1.active:=true;
      

  6.   

    to lmpeel(保持头脑清醒):不行啊!
    to yuhouyangguang(雨后阳光):为什么我的D6这么古怪的
    [Error] Unit1.pas(32): Undeclared identifier: 'AsString'???也即ADOQuery1不能使用asstring。
      

  7.   

    非常感谢dengyf(cool)但不明白为什么这么做?能否解释下,是不是DELPHI对SQL SERVER数据库时间字段的特殊处理呢?
      

  8.   

    Select * from t where mytime = :t
    adoquery1.parameters.parambyname('t').value:= datetostr(date());
    adoquery1.open;
      

  9.   

    Select * from t where mytime = :t
    adoquery1.parameters.parambyname('t').DataType:= date;
    adoquery1.open;