SQLQuery.SQL.Text := 'insert into DC (ZH,Date) values ('+#39+zh+#39+','+DateTimeTostr(now)+')';向date 插入日期时间 出错SQLQuery.SQL.Text := 'insert into DC (ZH,Date) values ('+#39+zh+#39+','+#39+DateTimeTostr(now)+#39+')';
也一样出错

解决方案 »

  1.   

    DC (ZH,Date)表的date是什么类型的,应该是日期型的吧
    你这样写:'insert into DC (ZH,Date) values (:zh,:date)';
    parameters.parambyname('zh').value := zh;
    parameters.parambyname('date').value := strtodate(formatdatetime('yyyy-mm-dd',now()));
      

  2.   

    不行 parameters.parambyname('zh').value := zh; 
    编译器不认 未定义
      

  3.   

    你用什么联接数据库,如果是ADO,
    可以用adoquery.parameters.parambyname('zh').value := 所要赋的值.
    如果是BDE联接:query1.parambyname('zh').value :=所要赋的值
      

  4.   

    我用的是SQLConnection 连接数据库 然后放一个sqlquery 操作数据
      

  5.   

    呵呵,楼上的都没用过吧,直接这样用VALUE是不行的.
    正好我最近在写相关的程序,问题出的数据类型格式上,要转换一下才行.
      

  6.   

             with D_ksmd.TMPQ do
                begin
                  SQL.Clear;
                  sqlstr:='insert into xy_ksmd (sqcx,mdbh,xybh,kslx,zkbz,djczy,djrq) values '+
                          '('''+sqcx+''','''+mdbh+''','''+xybh+''','''+kslx+''',''0'','''+djczy+
                          ''',:svrtime)';
                  sql.add(sqlstr);
                  ParamByName('svrtime').AsDateTime :=svrtime;
                  ExecSQL;
                end;
    PS:
     svrtime:TDateTime;
        TMPQ: TQuery;
     
      

  7.   

    谢谢 大家的帮助   问题已经解决 原来date 不能做数据库字段名称