“没有由SQLite JDBC驱动程序实现”

时间:2016-04-25 05:27:51

标签: java sql sqlite

我有一个包含用户信息的数据库,我想在任何给定时间创建一个公共静态来返回数据库整数,而不必为每一个都做空,但它给了我这个错误:

0
java.sql.SQLException: not implemented by SQLite JDBC driver
    at org.sqlite.jdbc3.JDBC3PreparedStatement.unused(JDBC3PreparedStatement.java:466)
    at org.sqlite.jdbc3.JDBC3PreparedStatement.executeQuery(JDBC3PreparedStatement.java:506)
    at dysanix.main.checkUserColumnInt(main.java:726)
    at dysanix.main.main(main.java:50)

这是我的代码:

public static int checkUserColumnInt(String column, String user) {
        try {
            Connection connection = DriverManager.getConnection("jdbc:sqlite:Database.db");
            String query = "Select ? from userSettings WHERE user = ?";
            PreparedStatement statement = connection.prepareStatement(query);

            statement.setString(1, column);
            statement.setString(2, user);

            ResultSet result = statement.executeQuery(query);

            result.next();
            int columnResult = result.getInt(column);
            return columnResult;
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
    }

有人明白我做错了什么吗?我尝试了谷歌的东西,但改变代码使我从一个错误转移到下一个...所以我现在不再确定了。

提前致谢!

编辑:我正在运行JDBC驱动程序sqlite-jdbc-3.8.11.2.jar

1 个答案:

答案 0 :(得分:4)

PreparedStatement.executeQuery(String sql)未实施。我想你只想打电话给executeQuery()。查询由PreparedStatement已定义。