Я пытаюсь читать из моей базы данных, используя импорт Java java.sql.PreparedStatement
и java.sql.ResultSet
.В моей базе данных есть столбец, который я пытаюсь запросить, но он выдает мне сообщение об ошибке, поэтому я не уверен, как исправить эту ошибку.
Database error - can't select data from 'Transactions' table: no such column: 'Date'
An error occurred! Database error - can't select data from 'Transactions' table: no such column: 'Date'
Оператор SQL, которым я являюсьпытается использовать это SELECT substr(Date, 4, 2), SUM(Price) FROM Transactions GROUP BY substr(Date, 4, 2)
.Этот оператор прекрасно работает при запуске в SQLite Studio.Я попытался использовать оператор в Java без использования функции substr
, и он работает без ошибок, однако не дает требуемых результатов.
public static String selectAllMonth(List<Transaction> targetList) {
targetList.clear();
try {
PreparedStatement statement2 = DatabaseConnection.newStatement(
"SELECT substr(Date, 4, 2), SUM(Price) FROM Transactions GROUP BY substr(Date, 4, 2)"
);
if (statement2 != null) {
ResultSet results2 = statement2.executeQuery();
if (results2 != null) {
while (results2.next()) {
targetList.add(new Transaction(0,null,results2.getString("Date"), results2.getDouble("Price"),0,null));
}
}
}
} catch (SQLException resultsException) {
String error = "Database error - can't select data from 'Transactions' table: " + resultsException.getMessage();
Logger.log(error);
return error;
}
return "OK";
}