DBGRID中的数据是以一个DATETIMEPICKER中的日期从MSSQL中查询而来的,所以在增加记录时,希望DBGRID中的日期列自动插入DATETIMEPICKER中的日期,更不能为空值,怎样才能实现?听说可以用DBRID.DATASET实现,能具体点吗?

解决方案 »

  1.   

    INSERT INTO MyTable (日期字段名称)
           VALUES (DATETIMEPICKER.datetime)
      

  2.   

    DBGRID的DATASET属性直接指向DATETIMEPICKER就可以了!DATETIMEPICKER.datetime=Now();
    默认日期为当天系统日期!
      

  3.   

    自己试了下,已经解决,方法如下
    procedure TForm2.DataSource1DataChange(Sender: TObject; Field: TField);
    begin
    with adoquery2 do
    adoquery2.Close;
    adoquery2.Parameters.ParamByName('pcashdate').Value:=formatdatetime('yyyy-mm-dd',datepicker1.date);
    adoquery2.SQL.Text:='update lipaicashrecsub set cashdate=:pcashdate where cashdate is null and (jf is not null or df is not null)';
    adoquery2.ExecSQL;
    end;
    谢谢grjs2004(在岸边钓不到大鱼,只好下水去摸虾米!) 热情的回复,再次多谢!