Пустой ResultSet с рабочим соединением и правильным оператором SQL - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь отладить, почему мое соединение с БД не может извлекать какие-либо строки из моей базы данных. Я могу подключиться к БД (postgres) без проблем и не получаю никаких исключений при выполнении запросов, но по какой-то причине они всегда возвращают пустой ResultSet.

byte[] decodedstrDbPassword = Base64.getDecoder().decode(strDbPassword);
String dbpwd = new String(decodedstrDbPassword, "utf-8");
Class.forName("org.postgresql.Driver");
static Connection dbConnection = DriverManager.getConnection(strDbUrl, strDbUser, dbpwd);
ResultSet rs = connection.createStatement().executeQuery("SELECT * FROM my_table;");
if (rs.next()) {
   System.out.println("Got a row");
}

Я имею взял originalQuery из объекта ResultSet и независимо выполнил его для моей базы данных, и он возвращает кучу строк, и с первого взгляда поле fields из ResultSet получило все правильные типы столбцов из my_table. Просто кажется, что я не получаю никаких строк, когда я пытаюсь получить их с помощью rs.next().

Что-нибудь, чего мне здесь не хватает, может вызвать проблемы при получении строк? Заранее благодарим за любые советы.

1 Ответ

0 голосов
/ 08 февраля 2020

Вероятно, Семиколон в конце. Может быть проигнорировано, чтобы избежать SQL инъекции. Попробуйте это без; в конце

...