2014-09-03 81 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