2015-05-04 43 views
0

我想將DB值存儲到兩個不同的數組中。如果test_type是「New」=>存儲第一個數組,else =>第二個數組。獲取「SEVERE:null java.sql.SQLException:沒有數據發現錯誤」,同時將rs.getString值分配給變量\ array。任何人都可以幫我解決這個問題嗎?正在使用MS訪問作爲DB獲取SEVERE:null java.sql.SQLException:沒有發現數據錯誤

代碼:

try { 
    DatabaseConnectivity();  
    stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY); 
    String select="Select * from (SELECT DISTINCT test_name,test_type FROM ScenarioTable)order by test_type ";     
    ResultSet rs = stmt.executeQuery(select); 
    String colvalues; 
    String print="null"; 
    int arycount=1; 
    basicarray=new String [20][20]; 
    newarray=new String [20][20];     
    while (rs.next()) { 
    print=rs.getString(1); 
    if (print.equals("New")) { 
      for(int itration=1;itration<=2;itration++) {        
      colvalues=rs.getString(itration);               
      newarray[arycount][itration]=colvalues; 
      } 
    } else { 
     for(int itration=1;itration<=2;itration++) { 
      colvalues=rs.getString(itration);               
      basicarray[arycount][itration]=colvalues; 
     } 
     arycount++; 
    } 

錯誤:

Connection Successful 
May 04, 2015 8:26:37 AM NewJFrame btn_refreshActionPerformed 
SEVERE: null 
java.sql.SQLException: No data found 
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7145) 
    at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3914) 
    at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5697) 
    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:353) 
    at NewJFrame.btn_refreshActionPerformed(NewJFrame.java:1140) 
    at NewJFrame.access$1800(NewJFrame.java:47) 
    at NewJFrame$21.actionPerformed(NewJFrame.java:734) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) 

回答

1

相同的數據不應當被檢索比從結果集一次。
也就是說,因爲rs.getString(1)被執行了兩次,所以引發了異常。
使用其他變量保持值rs.getString(1)