2013-05-30 57 views
-2
String sess_user = session.getAttribute("userid").toString(); 
out.println(sess_user); 
try{ 
     String connectionURL = "jdbc:mysql://localhost:3306/books";// books is the database 
     Connection connection = null; 
     Class.forName("com.mysql.jdbc.Driver"); 
     connection = DriverManager.getConnection(connectionURL, "root", "bonnysingh"); 

     Statement st = connection.createStatement(); 
     ResultSet rs=st.executeQuery("select email from signup where UserName = '" + sess_user +"'"); 
      while(rs.next()){ 
      userEmail = rs.getString(3); 
      } 
} 
    catch(Exception ee){ 

     out.println(ee); 
    } 
out.println("Hello"); 
out.println(userEmail); 

userEmail的輸出始終爲空。我不知道這裏有什麼問題,但我認爲while(rs.next())循環沒有正確執行。誰能告訴我最新的錯誤?此錯誤表示java.sql.SQLException:列索引超出範圍,3> 1

+2

爲什麼你甚至認爲當你選擇一個列時,你應該用'getString(3)'檢索它的值? –

回答

5

您只是選擇了一列,但您試圖在結果中訪問第三列列。

getString(3)更改爲getString(1),你應該沒問題。

+0

謝謝,這是基本的,但項目吸! –

+1

@DamanpreetSingh:我看不出你的「*項目*」與此有什麼關係。 –