#java #mysql
#java #mysql
Вопрос:
у меня ошибка в моем коде, но я не знаю, что это… (Java MySQL)
public void deleteClientes(int nit){
sql = "DELETE FROM `clientes` WHERE `clientes`.`nit` = ";
delete(sql,nit);
}
Метод, который получает:
public void delete(String sql,int id){
final QueryRunner qr = new QueryRunner(true);
try {
qr.update(conexion(),sql,"%" id "%");
} catch (SQLException ex) {
System.err.println("Error" ex);
}
}
Ответ №1:
В вашем запросе нет заполнителя ?
. Это должно быть:
"DELETE FROM `clientes` WHERE `clientes`.`nit` = ?"
Комментарии:
1. Ничего, ошибка сейчас не выводится, но строка не удаляется : (
Ответ №2:
Необходимо добавить ?
в инструкцию sql, где данные будут размещены на основе параметра
sql = "DELETE FROM `clientes` WHERE `clientes`.`nit` = ?";
и
qr.update(conexion(),sql,id);
Комментарии:
1. Ничего, ошибка сейчас не выводится, но строка не удаляется : (
2. проверьте тип данных и условие where, данные будут удалены, если условие соответствует
3.
"%" id "%"
почему вы добавили%
?4. Listo! ошибка исправлена … я изменил фрагмент: qr.update(conexion (), sql,»%» id «%»); на: qr.update(conexion (), sql, id); и все!