2016-10-12 12 views
0

巨大なレコードを含むJDBCテーブルがあり、選択したクエリの結果セットを多次元配列に格納し、jspページのテーブルとして表示したい。2次元配列の結果をjspページに表示するテーブルとして

サーブレットページ:結果を格納するための

a)のクレートArrayList<ArrayList<Object>>を:

ArrayList al = new ArrayList(); 
ArrayList list = new ArrayList(); 
try { 
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
    con = DriverManager.getConnection("jdbc:oracle:thin:@ip/test","user","pass"); 
} catch (SQLException e) { 
    out.println(e.getMessage()); 
} 
try { 
    OraclePreparedStatement stmt 
        = (OraclePreparedStatement) con.prepareStatement(
          "Select * from MSG"); 
    ResultSet rs = stmt.executeQuery(); 
    while (rs.next()) { 
    } 
+0

は私が行と列として2次元配列に設定し、私はこれを追加するテーブル構造でJSPページを作成する結果格納したい私達にあなたのコード –

+0

を表示しますこのページに配列... –

+0

助けてください! –

答えて

0

私はそれをテストしますが、基本的にはしませんでした。

b)に示すように、各行クレートArrayList<Object>の列rs.getMetaData().getColumnCount()

C)の数を取得する行からcolumsを反復し、それに追加します。

d)行を結果配列に追加します。それはこのようなものかもしれないあなたのコードに基づか

ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>(); 

    try { 

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); con = DriverManager.getConnection("jdbc:oracle:thin:@ip/test","user","pass"); 

    } catch (SQLException e) { 

     out.println(e.getMessage()); 

    } 
    try { 
     OraclePreparedStatement stmt 
       = (OraclePreparedStatement) con.prepareStatement(
         "Select * from MSG"); 

      ResultSet rs = stmt.executeQuery(); 
      ResultSetMetaData rsmd = rs.getMetaData(); 
      int columnCount = rsmd.getColumnCount(); 

      while (rs.next()) { 
      ArrayList<Object> row = new ArrayList<Object>(); 
      for (int col=1; col < columnCount) { 
       row.add(rs.getObject(col)); 
      } 
      resultTable.add(row); 
      } 
    } catch ... 

    // here you have results rewriten to resultsTable 
+0

<% のArrayList ARR =(ArrayListの)セッション。 getAttribute( "resultTable"); String myString = ""; if(arr.isEmpty()== false){ for(int i = 0; i

関連する問題