一个table中的一个inforDT字段是datetime类型.为了保存时间日期的正确性,我想从服务器上面取日期时间做为插入.由于数据是先存放在一个临时表中的,主表中的getdate()不能带入.请问应该如何实现啊?procedure Tinfor_form.Button1Click(Sender: TObject);
VAR
   sqlstring:STRING;
   dt:tdatetime;
begin
dt:=datetimepicker2.DateTime;
   with inforquery do
              begin
                Close;
                SQL.Clear;
                sqlstring:='INSERT INto table1 (DT) ';
                sqlstring:=sqlstring+' values(:p1)';
                sql.Add(sqlstring);
                Parameters[0].Value:=dt;
                Prepared:=true;
                ExecSQL;
              END;
end;程序提示:ODBC SQL DRIVERS没有执行的可选特性.

解决方案 »

  1.   

    字段默认值设为getdate()就可以了
      

  2.   

    var 
       wYear,wMon,wDay:word;
       vDate:string;
      begin
        DecodeDate(DateTimePicker1.Date,wYear,wMon,wDay);
        vDate:=intToStr(wDay);
        strSQL1:='SELECT  day(DateTime)-' +
                vDate +   //vDate為變量
                ' AS datetime, O3 from   Table
      end;
      

  3.   

    字段默认值设为getdate()就可以了
    本表是可以,但是临时表带不过来啊.下面的语句查询是没有结果的,目的就是产生一张空表当临时.
    代码:
    if exists (select * from sysobjects where id = object_id(N'[temptable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[temptable]
    select * into temptable from MaintainInfor where InforID='SYSTEM'  //查询得不到结果,但是产生字段类型一样的临时表
    select * from temptable