一张sqlDT表。中某个字段serverDT是datetime类型。使用adoconnect(连接ODBC)和adoquery执行下面一段代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
   with adoquery1 do
       begin
          if active=true then active:=false;
          close;
          sql.Clear;
          sql.Add('insert into sqlDT (serverDT) values(:p1)');
          Parameters[0].Value:=now();
          Prepared:=true;
          ExecSQL;
       end;
end;==========================
程序会出现如题的错误。如果我把ADOCONNECTION改成SQL连接。就可以通过。上面代码执行正确。疑惑?难道ODBC不支持插写datetime类型的???!!!

解决方案 »

  1.   

    可能是你选择数据库驱动的问题了....SQL连接才行
      

  2.   

    为什么用上面的INSERT不可以.会提示" 没有执行可选特性!".我用这个就可以?!!
    procedure TForm1.Button1Click(Sender: TObject);
    var
      strSQL:string;
    begin
      with ADOQuery1 do
      begin
        if Active=True then Active:=False;
        SQL.Clear;
        strSQL:='';
        strSQL:='select DT from TABLE1';
        SQL.Add(strSQL);
        Open;    Append;
        ADOQuery1['DT']:=formatdatetime('YYYY-MM-DD HH:MM:SS',now());
        Post;
        ShowMessage('插入数据成功!');
      end;
    end;