java - 数据库错误 - 无法从 'Transactions' 表 : no such column: 'Date' - Java Error 选择数据

标签 java sqlite

我正在尝试使用 Java 导入从我的数据库中读取 java.sql.PreparedStatementjava.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";
}

最佳答案

尝试 SELECT substr(Date, 4, 2) as 'Date', SUM(Price) as 'Price' FROM Transactions GROUP BY substr(Date, 4, 2)

关于java - 数据库错误 - 无法从 'Transactions' 表 : no such column: 'Date' - Java Error 选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54493407/

相关文章:

java - Google Apps Marketplace JAR 和 GAE

java - 我要把我的 socket 改成什么?

删除行后的sqlite rowid

python - 使用python脚本远程访问Django中的sqlite3

java - System.out.println - 这个方法在 Java 中是链式的吗?

java - 如何上传 bufferedImage 而不将其存储在用户系统中?

java - JDBC 分页

java - android studio使用sql报错

android - 通过房间数据库的一对多关系出现问题

ios - 当我在设备上运行时找不到 SQLite 文件