java中的空指针异常

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

我是新来的,所以请容忍我。但我在这里的某个地方得到了一个NullPointerException。有什么想法吗?谢谢

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实现的。*;进口