我在我的 Web 服务中执行JDBC选择查询以从我的数据库中返回一些值。此表的一部分附于此问题。执行以下查询后:
SELECT * FROM uses WHERE uses_user_fk='22';
我只收到一行,但在数据库中有两个满足查询条件的值,如附图所示。谁能告诉我哪里出错了。我正在使用以下 JDBC 指令来执行查询
ResultSet tempResultSet = statement.executeQuery(query);
数据库表的波纹管图像使用:
在查询数据库的竞争方法下面,参数查询与前面列出的“<strong>SELECT * FROM uses...</strong>”相同。我应该补充一点,该查询的答案是4,我也尝试了这个查询而不使用引号(uses_user_fk=22),但结果是一样的:
protected ArrayList<Integer> queryForIds(String query, String column) throws Exception {
ArrayList<Integer> ids = new ArrayList<>();
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager
.getConnection(GeneralDatabaseConstants.DATABASE_CONNECTION_URL);
statement = connect.createStatement();
ResultSet tempResultSet = statement.executeQuery(query);
if (tempResultSet.next())
ids.add(new Integer(tempResultSet.getInt(column)));
} catch (Exception e) {
throw e;
} finally {
close();
}
return ids;
}