2014-09-03 80 views
0

我需要創建一個預訂系統,爲一個或多個乘客預留座位 如果例如爲三個座位預留的乘客,我如何才能將這三個預留座位插入到一個自動遞增ID在我的數據庫?Java - 座位預訂系統

例如,如果三個座位的乘客準備金,在我的數據庫就應該是這樣的:

Ticket Number Passenger Name   
2    passenger1 
2    passenger2 
2    passenger3 

這是我使用的是什麼現在:

sql1 = "INSERT INTO passenger_details(fname,lname,gender,address,cc_no,bank_name,no_of_tickets,seat,destination) 
VALUES('"+fnm+"','"+lnm+"','"+gnd+"','"+add+"','"+cc+"','"+bank+"','"+tckts+"','"+seats+"','"+dest+"') 
('"+fnm+"','"+lnm+"','"+gnd+"','"+add+"','"+cc+"','"+bank+"','"+tckts+"','"+seats2+"','"+dest+"'), 
('"+fnm+"','"+lnm+"','"+gnd+"','"+add+"','"+cc+"','"+bank+"','"+tckts+"','"+seats3+"','"+dest+"')"; 
+4

更好的開始使用'PreparedStatement'或者我會介紹你給我的朋友[bobby tables](http://xkcd.com/327/) – alfasin 2014-09-03 01:46:39

+1

@alfasin:就像我喜歡xkcd一樣,[this link]( http://bobby-tables.com/)也有解決方案,而不僅僅是問題。 – Amadan 2014-09-03 01:47:31

+0

感謝您的信息 – gunz24Z 2014-09-03 13:05:34

回答

0

你可能會考慮創建一個單獨的reservations表,passenger_idseat_no列。這將減少重複的信息。

此外,當您實際插入預留時,您可能需要使用for循環,因爲您事先並不知道單個客戶將保留多少個座位。

最後,您需要了解SQL注入攻擊。正如其他人在評論中指出的那樣,您當前的實施非常不安全。

+0

謝謝你,我會嘗試你所說的 – gunz24Z 2014-09-03 13:06:16