java中的空指针异常
我是新来的,所以请容忍我。但我在这里的某个地方得到了一个NullPointerException。有什么想法吗?谢谢java中的空指针异常,java,nullpointerexception,null,Java,Nullpointerexception,Null,我是新来的,所以请容忍我。但我在这里的某个地方得到了一个NullPointerException。有什么想法吗?谢谢 private void loadInstructors() { // get all account numbers from database try { //myResultSet = myStatement.executeQuery( "SELECT DISTINCT lastname FROM InstEval" ); myResultS
private void loadInstructors()
{
// get all account numbers from database
try
{
//myResultSet = myStatement.executeQuery( "SELECT DISTINCT lastname FROM InstEval" );
myResultSet = myStatement.executeQuery( "SELECT DISTINCT TEAMNAME FROM APP.TEAMEVAL" );
// add account numbers to accountNumberJComboBox
while ( myResultSet.next() )
{
//instructorComboBox.addItem( myResultSet.getString( "lastname" ) );
TeamsComboBox.addItem( myResultSet.getString( "TEAMNAME" ) );
}
myResultSet.close(); // close myResultSet
} // end try
catch ( SQLException exception )
{
exception.printStackTrace();
}
}
这里有一种方法可以做你想做的事;注意,我在这里试图概括一些事情。首先,你应该使用描述性的方法名,如果你想要团队名称,请提及团队名称。其次,您应该返回适当的类型,并且您正在执行一个不同的查询,因此我们应该返回一个-我选择了一个排序集,但无论如何这不是强制性的。接下来,我选择将连接对象传递到方法中。关闭打开它们的块中的资源是个好主意,因此我只关闭和对象。最后,如果你不用你的代码来更新你的评论,那么这些评论就没有用了
// I think sorting the team names is good idea, and they're distinct...
private SortedSet<String> getTeamNames(Connection conn) {
// Let's use a Set!
SortedSet<String> teamNames = new TreeSet<String>();
// get all team names from database, at least store the query in a local
// String variable. You should probably extract it to a properties file.
final String query = "SELECT DISTINCT TEAMNAME FROM APP.TEAMEVAL";
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.prepareStatement(query);
rs = ps.executeQuery();
// add team names to teamNames
while (rs.next()) {
teamNames.add(rs.getString("TEAMNAME"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return teamNames;
}
NPE应该附带一个堆栈跟踪,其中包含行号。它对应于代码中的哪一行?您需要告诉我们NPE发生在哪里。更好的是,请使用调试器。这不应该是myResultSet.hasNext吗?根据这段代码,我想你没有实例化myStatement,但当然没有堆栈跟踪,这只是一个猜测。你调试了你的代码吗?谢谢!很抱歉问一下,但是当调用getTeamNames时,它在parn中寻找什么?@user3549412 parn?你是说java.sql.Connection吗?我想这是通过java.sql实现的。*;进口