现在我建了一个数据库表ww,内有10个字段,
分别为:
CZZ       VARCHAR2(6)
FLAGS     NUMBER(1)
FX        VARCHAR2(2)
JSZH      VARCHAR2(14)
RQ        DATE
YD        VARCHAR2(2)
YHBH      NUMBER(10)
YHLL      NUMBER(6,2)
YJJE      NUMBER(10,2)
YJRQ      DATE我定义了四个变量,a,b,c,d都为string型,对应JSZH,RQ,YHBH,YJJE这四个字段
(注意:除了这四个字段不允许为空外,其他字段都允许为空),其中b获取的是系统日期,请问如何添加一条记录到表ww里头??

解决方案 »

  1.   

    定义 b:tdatetime
    b:=now();
      

  2.   

    adouqery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('insert into ww (jszh,rq,yhbh,yjje) values(:jszh,:rq,:yhbh,:yjje)');
    adoquery1.paramters.parambyname('jszh').value:= a;
    adoquery1.paramters.parambyname('rq').value:= strtodate(b);
    adoquery1.paramters.parambyname('yhbh').value:= c;
    adoquery1.paramters.parambyname('yjje').value:= d;
    adoquery1.execsql;
      

  3.   

    to tianwater(tianwater) 
    但是,当我执行insert into 语句的时候,
    提示Incompatible types: 'String' and 'TDateTime'
      

  4.   

    adouqery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('insert into ww (jszh,rq,yhbh,yjje) values(:jszh,:rq,:yhbh,:yjje)');
    adoquery1.paramters.parambyname('jszh').value:= a;
    adoquery1.paramters.parambyname('rq').asdatetime:= strtodate(b);
    adoquery1.paramters.parambyname('yhbh').value:= c;
    adoquery1.paramters.parambyname('yjje').value:= d;
    adoquery1.execsql;
      

  5.   

    注意  b要为时间格式 或者这样写也可以adouqery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('insert into ww (jszh,rq,yhbh,yjje) values(:jszh,:rq,:yhbh,:yjje)');
    adoquery1.paramters.parambyname('jszh').value:= a;
    adoquery1.paramters.parambyname('rq').asdatetime:=formatdatetime('yyyymmdd',now);
    adoquery1.paramters.parambyname('yhbh').value:= c;
    adoquery1.paramters.parambyname('yjje').value:= d;
    adoquery1.execsql;