Java 在MySQL中插入多行
我正在尝试将下面的详细信息从jtextfields插入数据库。 要插入的列是Guest表中的roomNumberSelected、guestName、passportNo、phoneNo 当前在编译时,它只插入最后一行数据。我正在我的应用程序中实现三层体系结构。我认为我必须修改SQL语句以插入 多个值,但我不确定如何实现 UI-GuestDetails.java 所需房间数等于所选房间数。在这种情况下,noOfSelectedRooms=5Java 在MySQL中插入多行,java,mysql,swing,insert,sql-insert,Java,Mysql,Swing,Insert,Sql Insert,我正在尝试将下面的详细信息从jtextfields插入数据库。 要插入的列是Guest表中的roomNumberSelected、guestName、passportNo、phoneNo 当前在编译时,它只插入最后一行数据。我正在我的应用程序中实现三层体系结构。我认为我必须修改SQL语句以插入 多个值,但我不确定如何实现 UI-GuestDetails.java 所需房间数等于所选房间数。在这种情况下,noOfSelectedRooms=5 if(noOfRoomsSelected=="1"){
if(noOfRoomsSelected=="1"){
if(name1.isEmpty()||passportNo1.isEmpty()||phoneNo1.isEmpty()){
JOptionPane.showMessageDialog(null, "Some Required field(s) are not entered. Please try again.");
}
else{
g.setSelectedRoomNum(comboBox1.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo1.getText());
g.setGuestName(tfGuestName1.getText());
g.setGuestPhoneNo(tfPhoneNo1.getText());
}
}
else if(noOfRoomsSelected=="2"){
if(name1.isEmpty()||passportNo1.isEmpty()||phoneNo1.isEmpty()
||name2.isEmpty()||passportNo2.isEmpty()||phoneNo2.isEmpty()){
JOptionPane.showMessageDialog(null, "Some Required field(s) are not entered. Please try again.");
}
else{
g.setSelectedRoomNum(comboBox1.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo1.getText());
g.setGuestName(tfGuestName1.getText());
g.setGuestPhoneNo(tfPhoneNo1.getText());
g.setSelectedRoomNum(comboBox2.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo2.getText());
g.setGuestName(tfGuestName2.getText());
g.setGuestPhoneNo(tfPhoneNo2.getText());
}
}
else if(noOfRoomsSelected=="3"){
if(name1.isEmpty()||passportNo1.isEmpty()||phoneNo1.isEmpty()
||name2.isEmpty()||passportNo2.isEmpty()||phoneNo2.isEmpty()||
name3.isEmpty()||passportNo3.isEmpty()||phoneNo3.isEmpty()){
JOptionPane.showMessageDialog(null, "Some Required field(s) are not entered. Please try again.");
}
else {
g.setSelectedRoomNum(comboBox1.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo1.getText());
g.setGuestName(tfGuestName1.getText());
g.setGuestPhoneNo(tfPhoneNo1.getText());
g.setSelectedRoomNum(comboBox2.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo2.getText());
g.setGuestName(tfGuestName2.getText());
g.setGuestPhoneNo(tfPhoneNo2.getText());
g.setSelectedRoomNum(comboBox3.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo3.getText());
g.setGuestName(tfGuestName3.getText());
g.setGuestPhoneNo(tfPhoneNo3.getText());
}
}
else if(noOfRoomsSelected=="4"){
if(name1.isEmpty()||passportNo1.isEmpty()||phoneNo1.isEmpty()
||name2.isEmpty()||passportNo2.isEmpty()||phoneNo2.isEmpty()||
name3.isEmpty()||passportNo3.isEmpty()||phoneNo3.isEmpty()
||name4.isEmpty()||passportNo4.isEmpty()||phoneNo4.isEmpty()){
JOptionPane.showMessageDialog(null, "Some Required field(s) are not entered. Please try again.");
}
else{
g.setSelectedRoomNum(comboBox1.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo1.getText());
g.setGuestName(tfGuestName1.getText());
g.setGuestPhoneNo(tfPhoneNo1.getText());
g.setSelectedRoomNum(comboBox2.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo2.getText());
g.setGuestName(tfGuestName2.getText());
g.setGuestPhoneNo(tfPhoneNo2.getText());
g.setSelectedRoomNum(comboBox3.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo3.getText());
g.setGuestName(tfGuestName3.getText());
g.setGuestPhoneNo(tfPhoneNo3.getText());
g.setSelectedRoomNum(comboBox4.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo4.getText());
g.setGuestName(tfGuestName4.getText());
g.setGuestPhoneNo(tfPhoneNo4.getText());
}
}
else if(noOfRoomsSelected=="5"){
if(name1.isEmpty()||passportNo1.isEmpty()||phoneNo1.isEmpty()
||name2.isEmpty()||passportNo2.isEmpty()||phoneNo2.isEmpty()||
name3.isEmpty()||passportNo3.isEmpty()||phoneNo3.isEmpty()
||name4.isEmpty()||passportNo4.isEmpty()||phoneNo4.isEmpty()
||name5.isEmpty()||passportNo5.isEmpty()||phoneNo5.isEmpty()){
JOptionPane.showMessageDialog(null, "Some Required field(s) are not entered. Please try again.");
}
else{
g.setSelectedRoomNum(comboBox1.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo1.getText());
g.setGuestName(tfGuestName1.getText());
g.setGuestPhoneNo(tfPhoneNo1.getText());
g.setSelectedRoomNum(comboBox2.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo2.getText());
g.setGuestName(tfGuestName2.getText());
g.setGuestPhoneNo(tfPhoneNo2.getText());
g.setSelectedRoomNum(comboBox3.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo3.getText());
g.setGuestName(tfGuestName3.getText());
g.setGuestPhoneNo(tfPhoneNo3.getText());
g.setSelectedRoomNum(comboBox4.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo4.getText());
g.setGuestName(tfGuestName4.getText());
g.setGuestPhoneNo(tfPhoneNo4.getText());
g.setSelectedRoomNum(comboBox5.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo5.getText());
g.setGuestName(tfGuestName5.getText());
g.setGuestPhoneNo(tfPhoneNo5.getText());
}
}
实体类-Guest.java
public boolean createGuestRecord(Guest g){
boolean success = false;
DBController db = new DBController();
String dbQuery;
//step 1 - establish connection to database
try{
db.getConnection();
dbQuery = "INSERT INTO guest(selectedRoomNum,guestPassportNo,guestName,guestPhoneNo,passNo)";
dbQuery = dbQuery + " VALUES ('" + selectedRoomNum + "','" + guestPassportNo+ "','" + guestName + "','" + guestPhoneNo + "','" + passNo + "')";
//step 3 - to insert record using updateRequest method
if (db.updateRequest(dbQuery) == 1){ //record inserted
success = true;
}
}
catch(Exception e){
System.out.println(e);
}
//step 4 - close connection
db.terminate();
return success;
}
当然,你只有最后一张唱片。只需查看您的代码:
g.setSelectedRoomNum(comboBox1.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo1.getText());
g.setGuestName(tfGuestName1.getText());
g.setGuestPhoneNo(tfPhoneNo1.getText());
// >>>>>>>>> Nothing here <<<<<<<<<
g.setSelectedRoomNum(comboBox2.getSelectedItem().toString());
g.setGuestPassportNo(tfPassportNo2.getText());
g.setGuestName(tfGuestName2.getText());
g.setGuestPhoneNo(tfPhoneNo2.getText());
在所有这些赋值之后,g有了第2行的数据,第1行的数据就消失了。因此,当插入开始时,g仅具有来自最后一条记录的数据。将字段分配给g后插入行。您将继续覆盖g的值。请改用集合。警告:。NoFoRoMsStase==1不是java中的字符串比较如何工作,你应该使用类似于1.RealSnFoFROMSOSLIDE的东西,你应该考虑使用JTABLE,看看更多细节显示,你能区分第一行和最后一行吗?