... 
query1.sql.add(insert into tab1(id,date1) values (:id,:date1)); 
query1.parambyname('id').asinteger:=1; 
query1.parambyname('date1').asdate:=DateTimePicker1.date; 
query1.excute; 
... 
报Number ....float...错误(具体记不清了) 
搞的头大!
哪位遇到过吗?

解决方案 »

  1.   

    query1.parambyname('date1').DataType := ftDate;
    query1.parambyname('date1').asdate:=DateTimePicker1.date; 再看看。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    看一下数据库中定义的日期格式是什么样的东东,然后用To_Date('','数据库中的日期格式')转换成数据库中相同格式的文件即可正常入库,原来我用过,肯定可以的!
      

  3.   

    试试看这样:query1.sql.add(insert into tab1(id,date1) values (:id,todate(:date1))); 
    ...
    query1.parambyname('date1').asString:=FormatDate('YYYY-MM-DD', DateTimePicker1.date);
      

  4.   

    回去试试!数据库定义的是date类型。先谢谢各位了,好了明早来揭帖!
      

  5.   

    today没问题
    query1.parambyname('date1').asdate:=strtodate(datetostr(DateTimePicker1.date));
    这样就行了,不知道为什么,试出来的.
      搂主有分的话多给一点阿,最近分都快用完了,谢谢
      

  6.   

    to:denny001() 
     我昨天是这样了 ,不行!
     分有啊!
      

  7.   

    wjowner(Jerry.W):你得我想应该不行。因为数据库是date类型
      

  8.   

    是因为你的数据库里是date型,才要用todate()函数转换啊。你传入字符串,转换过程使用todate()完成。另外,我曾经试过,如果使用ADO控件,并直接传入字符串类型,格式为YYYY-MM-DD的,可以由数据库系统直接转换格式的。
      

  9.   

    以上各位,方法都试了,还是不行!
    报Number 超出范围!可没有Nubmber ya
      

  10.   

    直接传字符串?数据库也改为varchar2() 就可以!
    否则不行!!
      

  11.   

    你的date1是date类型还是datetime类型?
    确定肯定是date1字段的插入错误么?怎么会有number报错?
    是delphi报错还是oracle报错?把ora-error代码帖出来....
    你的表只有这两个字段么?query1.parambyname('date1').asdatetime:=DateTimePicker1.datetime;
      

  12.   

    date1是date类型的,我单独存放日期也报错。我怀疑是oracle的错,我插入now()都报错!
    在db2下用相同的语句都可以.具体的错误代码我手头没有.
    与oracle的日期格式有关吗?或须其他的设置?
      

  13.   

    刚刚测试一下,我这里没有问题啊,不过我这里只有oracle734:)
      

  14.   

    query1.parambyname('date1').asdate:=timeDateTimePicker1.date;
    就是这样吗?
    我都晕了!
      

  15.   

    这样
    query1.sql.add(insert into tab1(id,date1) values (:id,to_date(:date1,''yyyy-MM-dd'')); 
    query1.parambyname('id').asinteger:=1; 
    query1.parambyname('date1').asstring:=datetostr(DateTimePicker1.date); 
    query1.excute; 
    可以吗
      

  16.   

    报Number ....float...错误(具体记不清了) 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    不是因为日期报错吧!
    我怀疑与你的Number类型有关系。在Oracle中 Number类型可以支持到 10^308, 而Delphi中仅仅支持到 10^38, 我建议使用 Number(38,26) 替代默认的 Number。
    试试看。Integer => Number(10,0)
      

  17.   

    确实是日期的问题,把日期去掉后,就没有错误!
    delphi中的方法各位都提到了,却是老报错(float溢出)!
    看来,可能是我的oracle问题.
      

  18.   

    直接在Oracle的sqlplus中运行这个SQL会有问题吗?