@Java_Python

В чём заключается ошибка?

Хочу просто в таблцу записать значение но пишет вот это org.postgresql.util.PSQLException: ERROR: syntax error at or near "kdlg"
КОД
Statement st=conn.createStatement();
            String GPS = "kdlg";
            Statement statement = null;

            statement = conn.createStatement();

            String SQL = "INSERT INTO gps_coordinat (class)" + (GPS );
            System.out.println("УСПЕХ");
            statement.executeUpdate(SQL);
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
GPS - строка. Может нужно еще и в кавычки строку заключить? :
String SQL = "INSERT INTO gps_coordinat (class) VALUES  ('" + (GPS ) + "')";
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
BorLaze
@BorLaze
Java developer
Привет, SQL injection!

Надо так:
String GPS = "kdlg";

String sql = "INSERT INTO gps_coordinat (class) VALUES (?)";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.setString(1, GPS);

int rows = preparedStatement.executeUpdate();

if(rows == 1) {
    System.out.println("УСПЕХ");
} else {
    System.out.println("что-то пошло не так...");
}
Ответ написан
@mkone112
Начинающий питонист.
К сожалению не шарю ни в SQL, ни в JAVA, но разве не что-то вроде:
...
String SQL = "INSERT INTO gps_coordinat (class) VALUES " + (GPS );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы