我正在制作一个我需要运行以下程序的程序。
SELECT questionID FROM TableX WHERE validAudit = 1;
我能够连接到有问题的数据库,甚至设法成功地向其插入数据。问题是上面的SELECT语句应该将118结果返回到我的结果集。相反,我最多得到一个结果,程序崩溃时出现空指针异常。
public static List<Integer> getQuestionID() throws SQLException{
Connection conn = null;
Statement stmt = null;
List<Integer> questionIDs = null;
String query = "SELECT questionID FROM Questions WHERE GAIG_AMIG = 1;";
try{
conn = getDBConnection();
stmt = conn.createStatement();
ResultSet IDs = stmt.executeQuery(query);
while(IDs.next())
{
int id = IDs.getInt("questionID");
JOptionPane.showMessageDialog(new JFrame(), "Current questionID is " + id, "Question ID", JOptionPane.INFORMATION_MESSAGE);
questionIDs.add(id);
}
IDs.close();
return questionIDs;
}catch(SQLException e){
JOptionPane.showMessageDialog(new JFrame(), e.getMessage());
}finally{
if(stmt != null)
stmt.close();
if(conn != null)
conn.close();
}
return questionIDs;
}
这是失败的方法。该计划特别失败:
questionIDs.add(id);
我已经查看过Oracle的文档,以及SO上的文档。我还没有发现一个与我完全相同的实例,而且我无法正确地获取我所知道的信息。
显示我重复的地方。我已经查看了所有可以找到的关于JDBC MySQL的SO问题,并且没有一个与这个确切的场景匹配。