我有一个包含用户信息的数据库,并且我希望在任何给定时间都使用公共静态方法来返回数据库整数,而不必为每个整数都做出空白,但它会给出我这个错误:“未通过SQLite JDBC驱动程序实现”
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
您正在使用哪个SQLite驱动程序,以及哪个版本? – Kai
@凯啊,忘了提! “sqlite的-JDBC-3.8.11.2.jar”。现在更新问题,谢谢! –
请注意,在您的catch块中,>从未执行,因为。你尝试调试它吗?第一行之后是否有有效的连接对象? –