您應該向新讀者指出您所指的是前一個問題(代碼)。沒有這些信息,他們無法理解你的問題。 Hotel prices spanning multiple dates issue
現在到您的問題。
忘記你的with absquery4 do begin
,有一個更簡單的方法。
只有2行新代碼添加到您的現有代碼中。
- 將您的價目表擴大到您需要的所有額外費用。
- 例如
DBLMSExtraBed
:'價格:
15,00`。
- 添加一個新的按鈕標題:='添加附加項'。
- clickEvent指向您的CalculationButtonClick。
- 在CalculationButton中進行測試單擊該按鈕時觸發該事件。
- 用
DBLMSExtraBed
填寫ROOM_TYPE TEditfield。
- 添加以下WITH .. .. IF THEN
...
with sender As TButton do if name='DoCalc' then begin
上述
ABSQuery2.Close;
ABSQuery2.SQL.Text:='DELETE from TEMP';
ABSQuery2.ExecSQL;
ABSQuery2.SQL.Text:='SELECT * from TEMP ORDER BY ID ';
ABSQuery2.Open;
和結束;
end;
如果事件是從AddExtrasButton
發起的。它不會清除你的臨時表。
所以表格仍然打開,新的數據將被插入。
現在你有3行,最後是:
隨着AddExtrasButton
你可以添加你喜歡的儘可能多的羣衆演員,只要有在價格表演員。
二手錶:
CREATE DATABASE IF NOT EXISTS pricelist;
USE pricelist;
DROP TABLE IF EXISTS `room_rates`;
CREATE TABLE `room_rates` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`CENIK_ID` int(10) unsigned NOT NULL,
`ROOM_TYPE` varchar(45) NOT NULL,
`RATE_START_DATE` datetime NOT NULL,
`RATE_END_DATE` datetime NOT NULL,
`RATE_PRICE` decimal(5,2) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
/*!40000 ALTER TABLE `room_rates` DISABLE KEYS */;
INSERT INTO `room_rates` (`ID`,`CENIK_ID`,`ROOM_TYPE`,`RATE_START_DATE`,`RATE_END_DATE`,`RATE_PRICE`) VALUES
(1,1,'DBLMS','2013-01-02 00:00:00','2013-04-26 00:00:00','128.00'),
(2,1,'DBLMS','2013-10-22 00:00:00','2013-12-18 00:00:00','128.00'),
(3,1,'DBLMS','2013-04-26 00:00:00','2013-06-22 00:00:00','146.00'),
(4,1,'DBLMS','2013-09-21 00:00:00','2013-10-20 00:00:00','146.00'),
(5,1,'DBLMSExtraBed','2013-01-02 00:00:00','2013-06-22 00:00:00','15.00');
更新:
只有蒂普:
創建您的Temp表中的字段EXTRAS
。
procedure TForm1.AdvGlowButton1Click(Sender: TObject);
var
isExtra : Boolean;
[...]
with sender As TButton do if name='AdvGlowButton1' then
isExtra := False else
isExtra := True;
if NOT isExtra then begin
ABSQuery2.Close;
ABSQuery2.SQL.Text:='DELETE from TEMP';
ABSQuery2.ExecSQL;
ABSQuery2.SQL.Text:='SELECT * from TEMP ORDER BY ID ';
ABSQuery2.Open;
end;
[...]
if isExtra then
ABSQuery2.FieldByName('EXTRAS').AsString:=mem_ROOM_TYPE
else
ABSQuery2.FieldByName('ROOM_TYPE').AsString:=mem_ROOM_TYPE;
好的。所以去做吧。你有什麼問題? – 2013-04-10 12:55:27
如何插入所需的數據? – user763539 2013-04-10 13:00:11
難道你不能像插入任何其他數據一樣插入它嗎?我不明白這個問題。 – 2013-04-10 13:02:43