2012-03-25 104 views
0

你好,我有一個問題我想改變光標位置第一行,但我不知道爲什麼我的代碼不working.when我添加rs2.first():Java JDBC ResultSet中的First()不起作用?

而且我gettign這個錯誤:

只能在可滾動的ResultSet對象上調用此方法(鍵入TYPE_SCROLL_INSENSITIVE)。

 try{      
     String driver = "org.apache.derby.jdbc.ClientDriver"; 
     Class.forName(driver).newInstance(); 
     String url = "jdbc:derby://localhost:1527/test"; 
     Connection conn = DriverManager.getConnection(url); 
     String query = "select * from APP.RANKING"; 
     Statement stmt = conn.createStatement(); 
     Statement stmt2 = conn.createStatement(); 
     ResultSet rs = stmt.executeQuery(query); 
     ResultSet rs2 = stmt2.executeQuery(query); 
     while (rs.next()){    
      String BID = rs.getString("BALLOT_ID"); 
      String CN = rs.getString("CANDIDATE_NAME"); 
      String ROID = rs.getString("USER_ID"); 
      Ro1_ID = ROID; 
      String RA = rs.getString("RANK"); 
      int rowNum = rs.getRow(); 
      int rowNum2; 
      boolean In_check = false; 
      while(rs2.next()){    
        In_ballot.addElement(BID); 

       } 

      rs2.First(); 
      In_ballot.addElement(BID); 
       } 

     } 
    catch(Throwable e) { 
       System.err.println(e.getMessage());   
       } 
    this.InB_list.setModel(In_ballot); 

感謝

+0

rs2.beforeFirst()將光標移到第一行之前,而不是第一行。我沒有看到rs2.first();在你的代碼 – gorn 2012-03-25 01:54:34

+0

對不起,我修改了我的code.al我也加了錯誤我得到 – user1290721 2012-03-25 01:56:22

回答

2

默認情況下,要求在每一個有型ResultSet連接結果createStament()「TYPE_FORWARD_ONLY」 - 這將導致您看到使用first()例外。

而是使用createStatement的其他版本,如this one

This sample在Derby中創建可滾動的ResultSet s可能會有幫助。

+0

謝謝你救了我的生命:) – user1290721 2012-03-25 02:23:16