1

ボタンをクリックすると、下部に表示される TEMP テーブルにデータを追加する必要があります。テーブル内の既存の FROM - TO - DAYS をすべて複製して挿入する必要があります。RATE_PRICE は事前に決定され、すべての新しい挿入に対して同じです (挿入時)。また、挿入されます。 ここに画像の説明を入力

例 : 追加するエキストラ ベッドがあり、15 ユーロかかります。チェックボックスをオンにして(ボタンをクリックして)その値(15)をTEMPテーブルに挿入したいのですが、グリッドに表示された日付値に従う必要があります。EXTRA という名前の TEMP テーブルに追加のフィールドを追加することを念頭に置いていました。これは、チェックボックスをオンにしない限り表示されません。そのため、エキストラ ベッドを追加するオプションをチェックすると、エキストラ ベッドは表示されたとおりになります。

必要なデータを挿入するにはどうすればよいですか?

アップデート

私はボタンのクリックでそれをやった:

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;

もっとエレガントな方法はありますか?

4

1 に答える 1