2010-03-23 12 views
0

Comment afficher ResultSet dans JTable. J'utilise ce codeResultSet dans JTable

String [] record= new 
    String[ColCount]; 
    for (i=0; i<ColCount; i++) 
    { 
    record[i]=rset1.getString(i+1); 

    } 
    cell[i] = rset1.getString("loginname"); 
    cell[i] = rset1.getString("role"); 
    System.out.println(cell[i][0]); 
    //ItemGroup = rset1.getString("Status"); 
    } 
    System.out.println(ItemCode); 
    JTable jt = new JTable( 
    cell[i], headers); 

mais je reçois seulement une ligne qui est finalement insérée dans la base de données.

+5

Vous pourriez commencer par décommenter le code, peut-être? – skaffman

+0

Votre code n'a aucun sens. Il est faux sur tant de niveaux que je dois demander si vous êtes un programmeur du tout. –

Répondre

1

Vous devez placer une boucle while autour de votre code pour parcourir le jeu de résultats. par exemple,

while(rset1.next()) 
{ 
//do something 
} 
0

Le code que vous avez énuméré est incomplet/incompréhensible, mais le code ci-dessous montre comment prendre un ResultSet avec un nombre arbitraire de colonnes et d'afficher son contenu dans un JTable.

import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.util.ArrayList; 

private void viewTable(){ 
    //Perform database query here, which will open a Connection to the database 
    //Assume we use the above query to populate a ResultSet results 

    //Get information about the ResultSet 
    ResultSetMetaData metaData = results.getMetaData(); 

    //Gets the number of columns in results 
    int columnCount = metaData.getColumnCount(); 
    //Gets the name of each column in results 
    String[] columnNames = new String[columnCount]; 
    for(int i = 0; i < columnNames.length; i++){ 
     columnNames[i] = metaData.getColumnLabel(i+1); 
    } 

    //You can use a String[] to keep track of the rows if you know the # 
    //# of rows in the ResultSet, this implementation assumes that we don't 
    //This ArrayList will keep track of each row in results (each row is 
    //represented by a String[] 
    ArrayList<String[]> rows = new ArrayList<>(); 
    while(results.next()){ 
     //Fetch each row from the ResultSet, and add to ArrayList of rows 
     String[] currentRow = new String[columnCount]; 
     for(int i = 0; i < columnCount; i++){ 
      //Again, note that ResultSet column indecies start at 1 
      currentRow[i] = results.getString(i+1); 
     } 
     rows.add(currentRow); 
    } 

    //Close Connection to the database here 

    String[][] rowsArray = new String[rows.size()][columnCount]; 
    rowsArray = rows.toArray(rowsArray); 
    table = new JTable(rowsArray, columnNames); 
}