2010-11-26 49 views
0

有誰知道爲什麼我得到一個空指針錯誤,當我打電話從MyServ2類的getResultSet()方法的Java空指針

這裏是我的DBClass(進口等略)

public DBClass(){ 

    } 

public Connection dbConnect(String db_connect_string, 
     String db_userid, String db_password) 
{ 

     try 
     { 
     DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); 

     conn = DriverManager.getConnection(
     db_connect_string, db_userid, db_password); 

     return conn; 

     } 
     catch (Exception e) 
      { 
       e.printStackTrace(); 

       return null; 
      } 
} 



public ResultSet getResultSet(String query){ 

    try{ 
    stmt = conn.createStatement(); 
    result = stmt.executeQuery(query); 

    } catch(Exception e){ 
     e.printStackTrace(); 
     return null; 
    } 
    return result; 

} 



} 

這是我MyServ2類

public class MyServ2 extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
     private DBClass db; 

    public MyServ2() { 
     super(); 
     db = new DBClass(); 

    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    } 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 


     ResultSet rs = db.getResultSet("Select * from ....ect"); 
     try { 
      while(rs.next()){ 
       System.out.println(rs.getString(1).toString()); 
      } 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

} 
+2

你不是在調用我認爲的dbConnect方法。因此你沒有連接到數據庫,你的查詢返回null。 – 2010-11-26 12:24:06

回答

6

你不是叫db.dbConnect(),所以db.conn將是無效的。