У меня есть 3 кнопки (добавить, сохранить, отменить).Если я нажимаю кнопку добавления, она автоматически генерирует автоматически увеличенное значение и отображается в текстовом поле.Если я нажимаю кнопку сохранения, он обновляет запись.Моя проблема в том, что когда я нажимаю кнопку отмены, я хочу иметь возможность удалить текущие добавленные данные и установить ключ автоинкремента на первичный ключ удаленных данных.Возможно ли это сделать?
dc.connect();
try {
PreparedStatement st=dc.getConnection().prepareStatement("Delete from Employeemaster where empno = '" + empno.getText() + "'");
i=st.executeUpdate();
if (i>0) {
dc.getConnection().commit();
}
} catch (Exception e) {
JOptionPane msg=new JOptionPane();
msg.showMessageDialog(this,"Database Error: "+e.getMessage());
}
dc.disconnect();
dc.connect();
try {
PreparedStatement st=dc.getConnection().prepareStatement("ALTER TABLE employeemaster AUTO_INCREMENT ='" + empno.getText() + "'");
i=st.executeUpdate();
if (i>0) {
dc.getConnection().commit();
}
} catch (Exception e) {
JOptionPane msg=new JOptionPane();
msg.showMessageDialog(this,"Database Error: "+e.getMessage());
}
Я попытался заменить
ALTER TABLE employeemaster AUTO_INCREMENT ='" + empno.getText() + "'"
на
ALTER TABLE employeemaster AUTO_INCREMENT = 10003;
, и это сработало.Можно ли установить автоматически увеличиваемое значение на значение, которое содержится / введено в текстовое поле?
Дополнительная информация: Я получаю ошибку
"У вас есть ошибкаСинтаксис SQL; обратитесь к руководству, соответствующему вашей версии сервера MYSQL, чтобы узнать правильный синтаксис для использования рядом с «10003» в строке 1. "