【发布时间】:2013-04-10 12:53:08
【问题描述】:
我需要在按钮单击时将额外数据添加到底部显示的 TEMP 表中。 我需要复制和插入表中所有现有的 FROM - TO - DAYS。 RATE_PRICE 将是预先确定的,并且对于所有新插入(插入时)都是相同的。 并且还插入了。
示例:我要加一张床,需要 15 欧元。 现在我想,当我选中一个复选框(并单击一个按钮)以在 TEMP 表中插入该值(15)但 它必须遵循网格中显示的日期值。 我想在名为 EXTRA 的 TEMP 表中添加额外的字段,除非 复选框选中。因此,当我检查添加加床的选项时,加床将按照显示的价格。房价价格将是 15 然后... 日期。
如何插入所需的数据?
更新
我在点击按钮时做到了:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
with ABSQuery4 do begin
ABSQuery4.Close;
ABSQuery4.SQL.Clear;
ABSQuery4.SQL.Text := 'INSERT INTO TEMP (extra,Date_From,Date_To,Rate_price,Days,Total) VALUES (:a1,:a2,:a3,:a4,:a5,:a6)';
ABSquery4.Params.ParamByName('a1').asString :='TT';
ABSquery4.Params.ParamByName('a2').value := cxDateEdit1.date;
ABSquery4.Params.ParamByName('a3').value := cxDateEdit2.date;
ABSquery4.Params.ParamByName('a4').value :='1';
ABSquery4.Params.ParamByName('a5').value :=Daysbetween(cxDateEdit1.Date,cxDateEdit2.Date);
ABSquery4.Params.ParamByName('a6').value := (ABSquery4.Params.ParamByName('a4').value)*(ABSquery4.Params.ParamByName('a5').value);
ABSquery4.ExecSQL ;
ABSquery2.Refresh;
end;
end;
还有更优雅的方式吗?
【问题讨论】:
-
好的。所以去做吧。你有什么问题?
-
如何插入所需数据?
-
你不能像插入任何其他数据一样插入它吗?我不明白这个问题。
-
我需要复制数据 - 网格/日期中已经存在的数据),我可以将我的新内容附加到这些数据中。我需要日期....
-
@user763539 : 如果你已经有了价目表,为什么不使用呢?在您的代码中,您必须(比如说 50 个 Extras)创建相同数量的按钮。对于这些按钮中的每一个,您必须指定硬编码的价格。这不容易维护!只需更改价目表就更简单了。另一方面,您必须不惜一切代价重新编译您的程序!
标签: delphi delphi-xe2 delphi-2010 delphi-xe