我得Form中有一个Query1的ADO查询组件,
其SQL为(F01就是smalldatetime字段):
select * from T2170 where F01=:Da为何使用如下语句的时候,会提示【无效数据格式】的错误???  Query1.Params[0].AsDate := Date;
  Query1.Close;
  Query1.Open;

解决方案 »

  1.   

    你日期格式正确吗!adoquery1.fieldbyname('日期字段').asdatetime;
      

  2.   

    Query1.Parameters[0].value:=Date;//不行吗???
      

  3.   


      Query1.Close;
      Query1.Params[0].AsDate := Date;
      Query1.Open;
      

  4.   

    建议你用query1.params[0].asstring:=datetostr(date);可以试试
      

  5.   

    在Query.SQL中設置好select * from T2170 where F01=:Da的語句好在Object Inspector內雙擊Params按鈕, 將Da參數DataType設為ftDate
    ParamType=ptInput
    就可以了
    Query1.Params.ParamValues['Da'] := Date;
      

  6.   

    query1.params[0].asstring:=datetostr(date);
      

  7.   

    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from lstz where rq=:temp');
    adoquery1.Parameters.ParamByName('temp').Value:=formatdatetime('yyyy-mm-dd',form1.DateTimePicker1.Date);
    showmessage(formatdatetime('yyyy-mm-dd',form1.DateTimePicker1.Date));
    adoquery1.Open;
    ///用这个绝对行....
      

  8.   

    这样吧!
    with adoquery1 do
    begin
      sql.close;
      sql.clear;
      sql.add('select * from T2170 where F01=:Da');
      parameters.parambyname('Da').value := date;
      //我在sqlserver中是datetime类型,不知道smalldatetime 行不行
      open;
    end;
      

  9.   

    楼上的whbo(王红波(决心找份工作)) 说的是
     
      Query1.Close;
      Query1.Params[0].AsDate := Date;
      Query1.Open;
      

  10.   

    你的sql语句有问题吧...在mssql里日期条件要用单引号 ,access里要用#号试试吧
      

  11.   

    query.fieldbyname('日期字段').asdatetime:=date;
      

  12.   

    Query1.Params[0].asdatetime:=now;
      

  13.   

    数据库中有表TEST(C1 char(10), C2 date)
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into TEST');
    ADOQuery1.SQL.Add('values(:C1,:C2))';
    ADOQuery1.Parameters.ParamByName('C1').Value:='dfsf';
    ADOQuery1.Parameters.ParamByName('C2').Value:='2005-12-12';或者StrToDate('2005-12-12')
    ADOQuery1.ExecSQL;
    怎么老是报错啊?(无效的数据类型)
    还有Binary类型的绑定的时候也报错
    各位大侠救命啊!
      

  14.   

    难道这个不行吗
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from lstz where rq=:temp');
    adoquery1.Parameters.ParamByName('temp').Value:=formatdatetime('yyyy-mm-dd',form1.DateTimePicker1.Date);
    showmessage(formatdatetime('yyyy-mm-dd',form1.DateTimePicker1.Date));
    adoquery1.Open;