Witam, próbuje usuwać rekordy z mojej prowizorycznej bazy danych, bezskutecznie.Korzystałem z tego tutoriala:
http://www.homeandlearn.co.uk/java/delete_a_record_from_a_database.html
ale to niestety nie dziala, usuwa zawsze pierwszy rekord w bazie.
Troszke zglebilem temat, okazalo sie ze mozna to zrobic z poziomu MySQL, ale też nie działa!
Oto kod:
private void bDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try{
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(SQL);
String usun = new String();
String ktory = new String();
int id = rs.getInt("ID");
ktory = Integer.toString(id);
usun = "DELETE from employees.workers WHERE ID=" + ktory;
if (rs.getConcurrency() == ResultSet.CONCUR_READ_ONLY) {
System.out.println("ResultSet non-updatable.");
} else {
System.out.println("ResultSet updatable.");
}
// rs.next();
stmt.executeUpdate(usun);
rs.close();
stmt.close();
//rs.absolute(Integer.parseInt(tID.getText())+1);
int iID = rs.getInt("ID");
String strImie = rs.getString("First_Name");
String strNazwisko = rs.getString("Last_Name");
String strZawod = rs.getString("Job_Title");
float fSalary = rs.getFloat("Salary");
tID.setText(Integer.toString(iID));
tFirstName.setText(strImie);
tLastName.setText(strNazwisko);
tJobTitle.setText(strZawod);
tSalary.setText(Float.toString(fSalary));
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,e.getMessage());
System.out.println(e.getMessage());
}
Gdy stosuje spobób z zamieszczonego przeze mnie kodu, to e.getMessage zwraca 'null', i nic nie zostaje usunięte.
Bardzo dziękuje za wszelkę pomoc, ja sobie z tym problemem nie radze;/