adoquery1.close;
adoquery1.sql.clear;
adoquery1.add('select * from zxb where ddrq>=:starrq and ddrq<=:endrq');
adoquery1.parameters.parambyname('startrq').value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date);
adoquery1.parameters.parambyname('endrq').value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date);
这里的ddrq的数据类型是date,
这里一执行就报 ora-01840:input value not long enough for date format.
请大虾解决一下

解决方案 »

  1.   

    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.add('select * from zxb where ddrq>=:starrq and ddrq<=:endrq');
    adoquery1.parameters.parambyname('starrq').value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date);
    adoquery1.parameters.parambyname('endrq').value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date);
    adoquery1.open;
      

  2.   

    //我的测试代码
    create table t1 (cid date);insert into t1 values( sysdate )
    ADODataSet1.close;
    ADODataSet1.CommandText:='select * from t1 where cid>=:starrq and cid<=:endrq';
    ADODataSet1.parameters.parambyname('starrq').value:=formatdatetime('yyyy-mm-dd',datetimepicker1.date);
    ADODataSet1.parameters.parambyname('endrq').value:=formatdatetime('yyyy-mm-dd',datetimepicker2.date);
    adodataset1.open;//
    1 2007-4-16 16:35:58