我有一个包含用户信息的数据库,我想创建一个公共(public)静态以在任何给定时间返回数据库整数,而不必为每个整数创建一个 void,但它给了我这个错误:
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;
}
}
有人明白我做错了什么吗?我尝试用 Google 搜索一些东西,但是更改代码使我从一个错误转移到下一个错误......所以我现在不太确定。
我正在运行 JDBC 驱动程序 sqlite-jdbc-3.8.11.2.jar
最佳答案
PreparedStatement.executeQuery(String sql)
没有实现。我猜你只是想调用executeQuery()
。该查询已由 PreparedStatement
定义。
关于java - "not Implemented by SQLite JDBC driver",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36832605/