我有一个包含用户信息的数据库,我想在任何给定时间创建一个公共静态来返回数据库整数,而不必为每一个都做空,但它给了我这个错误:
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
答案 0 :(得分:4)
PreparedStatement.executeQuery(String sql)
未实施。我想你只想打电话给executeQuery()
。查询由PreparedStatement
已定义。