我目前正在研究一個Java項目(在NetBeans上),我正在努力解決一個問題。在僅執行一次的循環中查詢Java
事實上,我有一個jTable
其中包含幾個元件,其元件具有在所述第二列中的jCheckBox
和我想作查詢,以在一個表中添加選定的元件(由當然jCheckBox
選擇)。
我可以得到我想要添加的數據,但我查詢的工作只有一次。我已經檢查了我的循環,但我不知道問題來自哪裏。
我讓你看到代碼:
try {
// Getting id of the selected value in the jComboBox
String idParcours = oParcoursDAO.findIdParcours(jComboBoxParcours.getSelectedItem().toString());
int id = Integer.parseInt(idParcours);
// for each value in the jTable
for(int i=0; i <jTable2.getRowCount(); i++){
boolean isChecked = (Boolean)jTable2.getValueAt(i, 1);
String nomPoi = (String)jTable2.getValueAt(i, 0);
// if the value is selected
if(isChecked){
String IDPoi = oParcoursDAO.findIdPoi(nomPoi);
int idpoi = Integer.parseInt(IDPoi);
System.out.println("idpoi "+idpoi); // It works I saw as idpoi as I have choose
System.out.println("id "+id) // It works too
oParcoursDAO.addPoi(idpoi,id); // it works only once
}
}
}catch (SQLException ex) {
Logger.getLogger(ModificationParcoursJInternalFrame.class.getName()).log(Level.SEVERE, null, ex);
}
預先感謝您的幫助。
這是我的發言
public void addPoi(int idPoi,int idParcours) throws SQLException{
String query = "INSERT INTO TB_POI_PARCOURS (id_poi,id_parcours) VALUES (?,?) ";
PreparedStatement preparedStatement = conn.prepareStatement(query);
preparedStatement.setInt(1,idPoi);
preparedStatement.setInt(2,idParcours);
preparedStatement.executeUpdate();
preparedStatement.close();
}
我看到你有沒有在你的代碼中的錯誤,所以嘗試調試你的代碼,並在每行之後添加打印語句來檢查哪裏出了問題 –
我已經嘗試過這一點,當我打印查詢是打印多次預期,所以我真的不明白爲什麼只有一個添加在我的數據庫.. – Blondie
所以我想你有一個問題在你的數據庫,所以你可以發佈你的數據庫語句? –