В вашем коде есть несколько проблем:
Первый: Вы не указали Id
в предложении Where
правильно.Таким образом, обновление обновляет все.
// Your "Where" means basically "Where 1 = 1"
PreparedStatement preparedStatement=connection.prepareStatement("Update Student SET FirstName = '"+value1+"' , LastName ='"+value2+"' where ID = +id");
Второе: Лучше использовать параметры, а не просто объединять ваши переменные.Вот как вы могли бы это сделать:
DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
String id, fname, lname;
connection = ConnectionDb.getConnection();
try{
String value1=txtFname.getText();
String value2=txtLname.getText();
PreparedStatement preparedStatement = connection.prepareStatement("Update Student SET FirstName = ? , LastName = ? where ID = ?");
preparedStatement.setString(1, value1);
preparedStatement.setString(2, value2);
preparedStatement.setString(3, id);
preparedStatement.execute();
// Code continues..
....
Третье: Где ваше значение идентификатора?Вы создали переменную во второй строке, но не указали там никакого значения.Вам необходимо извлечь значение и использовать его для обновления данных Student
.