估计类型错了
Parameters.ParamByName('rrsj').asdate:=date;

解决方案 »

  1.   

    把所有的value改作AsString试试看
      

  2.   

    是对的啊。
    JBK表是如何定义的啊?
      

  3.   

    rrsj是datetime型,bz是text 型,其他char型
      

  4.   

    text型能直接Insert吗?最好用流来处理。
      

  5.   

    //////////////////////////
      with AdoQuery1 do
      begin
        Close;
        SQL.Clear ;
        //dateF  :  DateTime字段
        //textF  :  Text字段  
        SQL.Add('insert into testT (dateF,textF) ');
        SQL.Add('values(:dateF,:textF)');
        Parameters.ParamByName('dateF').Value := 
                  FormatDateTime('yyyy-mm-dd',date());  
        Parameters.ParamByName('textF').Value := Memo1.Lines.Text;
        ExecSql;   //没有出错,不信你试试。
      end;
      

  6.   

    如果还出错,就改为:
      FormatDateTime('mm/dd/yyyy',date());  
    来试试。
        
      

  7.   

    Parameters.ParamByName('rrsj').value:=datetostr(date());
    这句出错,如果表定义是日期的话不必转换成字符。
    直接这样:
    Parameters.ParamByName('rrsj').value:=date();
      

  8.   

    Parameters.ParamByName('rrsj').value:=date();
    错!
    Parameters.ParamByName('dateF').Value := 
                  FormatDateTime('yyyy-mm-dd',date());  
    还错!!
    FormatDateTime('mm/dd/yyyy',date());  
    再错!!!应该怎样阿??
      

  9.   

    不用ODBC DSN连行不行?
    直接用ADOCONNECTION控件,看有没有这个问题.
      

  10.   

    不用ODBC DSN连行不行?
    ------行的!但中文显示为'???????'
    ------并且在查询如下语句时,当dhk里有相同号码(hm)时出错:
    select * from jbk where bh in (select jbkbh from dhk where hm=:hm)
    ------哎,真是头大如斗啊!
      

  11.   

    中文显示不正常是不是SQLSERVER的语言集选错了?
    查询不会出错吧!
    你这句没有什么问题,是不是表有什么特殊的设置?
      

  12.   

    如果Ado没有升级过,先升级试试看。Ado有两个版本,Delphi有一个升级版本。先升级Delphi,再升级Ado
      

  13.   

    难道从bde转到ado就有这么多莫名其秒的问题???
      

  14.   

    当然不能。 因为TADOQuery  根本就没有ParamByName()这个成员函数。不过好象有一个TParams属性,这个属性是一个类,根据ADO所联接的数据库类型的不同,这个属性的设置可能不太一样我还没来得急试  
      

  15.   

    我也遇到过,没有办法,我把adoquery的全改为adodataset了
    用adoquery只要有datetime字段,一定会出错,希望大家快点给个主意见啊
      

  16.   

    我詳細看了你的程式﹐ado的賦值就是這樣沒錯﹐別亂改﹐下面這句你改看看﹐可能就會OK了。把memo1.Lines.Text
    改為memo1.text就OK了
      

  17.   

    错的就是这句:
    Parameters.ParamByName('rrsj').value:=datetostr(date());用adoquery只要有datetime字段,一定会出错吗??
      
      

  18.   

    我怎么没有遇见过?
    我用的是D5+Sp1+ADOSp2。
    我在使用ADOQUERY插入数据时经常插入日期数据,方法同错误的一模一样,从不报错。
    你是在编译阶段出错,还是在运行时报错?
    编译出错你把这句删了重新写。
    运行时报错你检查一下表中的相应字段定义,比如你的rrsj到底是什么类型?或者你是不是将rrsj定义成了关键字段,唯一索引而数据库中有当天日期的情况?
    不过你先改成这样试试:
    Parameters.ParamByName('rrsj').value:=Now;
      

  19.   

    在前面加一句:
    Parameters.ParamByName('rrsj').DataType:=ftDateTime;
      

  20.   

    to :78
    rrsj是datetime型,非关键字段,无索引.
    我用的是D5+Sp1+ADOSp2+sqlserver6.5
      

  21.   

    我的后台是SQL SERVER2000。
    难道问题出在2000与6.5的兼容性上?
    换后台看看.
      

  22.   

    我create table 以后执行没有错误
    sql server 2000 +d5+win200+adosp2
    是不是你的数据输入有问题所有的edit里指数入一个字符create table jbk (
      dhhm varchar(10),
      xm varchar(10),jc varchar(10),
    xb  varchar(10),gj varchar(10),zy varchar(10)
    ,xz varchar(10),lb varchar(10),
    rrsj datetime,rrry varchar(10),bz text)--rrsj是datetime型,bz是text 型,其他char型 
    with adoQuery1 do
      begin
      close;
      sql.Clear ;
      sql.Add('insert into jbk (dhhm,xm,jc,xb,gj,zy,xz,lb,rrsj,rrry,bz) ');
      sql.Add('values(:dhhm,:xm,:jc,:xb,:gj,:zy,:xz,:lb,:rrsj,:rrry,:bz)');
      Parameters.parambyname('dhhm').value:=edit9.text;
      Parameters.ParamByName('xm').value:=edit1.text;
      Parameters.ParamByName('jc').value:=edit2.text;
      Parameters.ParamByName('xb').value:=edit3.text;
      Parameters.ParamByName('gj').value:=edit4.text;
      Parameters.ParamByName('zy').value:=edit5.text;
      Parameters.ParamByName('xz').value:=edit6.text;
      Parameters.ParamByName('lb').value:=edit7.text;
      Parameters.ParamByName('rrsj').value:=datetostr(date());
      Parameters.ParamByName('rrry').value:=edit8.text;
      Parameters.ParamByName('bz').value:=memo1.Lines.Text;
      execsql;        //出错:‘optional feature not implemented ’
      end;
      

  23.   

    TO :lwk_hlj(阿凯) 你是怎么解决的啊 ????????????????
      

  24.   

    我也没解决啊
    我用adodataset换掉adoquery
    就可以了,我也不知到错在哪里,
      

  25.   

    我也用的是odbc dsn+sql 7.0
           win2000 server
           delphi6
    你用adodataset
    with adodataset do
    begin
       insert;
        ....//
       fieldbyname('rrsj').asdatatime:=date;
       ...
      post;
    end;
    这样就行了
      

  26.   

    你用adodataset比用adoquery强啊
    真的
    它也是用sql语句的
    我现在一直在用他