如果要删除指定一段时间数据怎么实现?
两个datetimepicker控件可以选时间,比如2012-1-2到2012-10-22,选定这段时间,然后要删掉这段时间的数据该怎么做?先从数据库里找出相对应时间段的数据再执行删除?
[解决办法]
with ADOQuery1 do
begin
Close;
SQL.Text:='delete from t where d between :D1 and :D2';
Parameters.ParamByName('D1').Value:=datetimepicker1.date;
Parameters.ParamByName('D1').Value:=datetimepicker2.date;
ExecSQL;
end;
[解决办法]
楼主正解。
如果要精确至时分秒,需要稍加改动。
比如我们通常说2号至22号是指2号0:0:0至22号23:59:59
[解决办法]
with ADOQuery1 do
begin
Close;
SQl.Clear;
SQL.Add(Format('delete from t where d >= ''%S'' and d<= ''%S'' ',
[FormatDateTime('YYYY-MM-DD 00:00:00',datetimepicker1.date),
FormatDateTime('YYYY-MM-DD 23:59:59',datetimepicker2.date)]));
ExecSQL;
end;