急救啊,我想把DateTimePicker1.Date写入数据库表的一个为datetime类型的字段中去应怎么写?
入职日期:为日期型字段。
ADOQuery1.SQL.Add('insert into userdb (编号,姓名,入职日期)values('''+trim(Edit1.Text)+''','''+trim(Edit2.Text)+''',''+DateTimePicker1.Date+'');
应怎么写才正确?

解决方案 »

  1.   

    var
    SQL_str:string;
    begin
    SQL_str:=' insert into userdb(编号,姓名,入职日期) '+
             ' values('+quotedstr(trim(Edit1.Text))+','+
                        quotedstr(trim(Edit2.Text))+','+
                        quotedstr(datetostr(DateTimePicker1.Date))+')';ADOQuery1.SQL.Add(SQL_str);
    end;
      

  2.   

    ADOQuery1.SQL.Add(format('insert into userdb (编号,姓名,入职日期)values
    (''%s'',''%s'',to_date(''%s'',''yyyy/mm/dd''))',[edit1.text,edit2.text,
    copy(datetostr(dateTimePicker1.date),1,10)])
      

  3.   

    偶喜欢这样写:
      with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Insert Into userdb(编号,姓名,入职日期)');
        SQL.Add('Values (:a,:b,:c)');
        Parameters.ParamByName('a').Value := Trim(Edit1.Text);
        Parameters.ParamByName('b').Value := Trim(Edit2.Text);
        Parameters.ParamByName('c').Value := DateToStr(DateTimePicker1.Date);
        Prepared;
        ExecSQL;
      end;