Tomek_123abc Napisano Maj 22, 2010 Zgłoś Share Napisano Maj 22, 2010 Witam, od paru dni męczę się z wyświetleniem danych w komponencie JTable Chciałbym pobierać z bazy danych dane - i wyświetlać je w JTable Udało mi się jak narazie pobrać pojedynczy rekord i wstawić go do JTable, ale za Chiny ludowe nie wiem jak mam pobrać macierz danych i wstawić ją do JTable. Może poniższy kod ułatwi pomoc: package testowe; import java.sql.*; import javax.swing.*; import java.awt.*; import javax.swing.table.*; import java.util.Vector; public class SimpleTable extends JFrame { public SimpleTable() { super("Simple JTable Test"); setSize(350, 200); setLocation(250,300); int ColCount; int i; int h; //int row, con; try { DriverManager.registerDriver(new com.sybase.jdbc3.jdbc.SybDriver()); String url = "jdbc:sybase:Tds:localhost:2638/asademo"; Connection conDB = DriverManager.getConnection(url, "dba", "sql"); ResultSet rset1 = null; Statement stmt1 = null; //Statement stmt2 = null; String ID_klienta = null; String Imie = null; String kolumny[] = { "ID_klienta", "Imie" }; String dane[][] = {{}}; stmt1 = conDB.createStatement(); rset1 = stmt1.executeQuery("select * from Klienci"); //Vector rekordy = new Vector(); //rekordy.toArray(dane); ResultSetMetaData meta = rset1.getMetaData(); ColCount=meta.getColumnCount(); /* Vector<String> row = new Vector<String>(); row.addElement( rset1.getString("ID_klienta")); row.addElement( rset1.getString("Imie")); //row.toArray(dane); row.capacity(); */ while (rset1.next()) { String [] record= new String[ColCount]; for (i=0; i<ColCount; i++) { record[i]=rset1.getString(i+1); System.out.println("dane osoo: " + Imie); // <-- wyswietla dane w konsoli } ID_klienta = rset1.getString("ID_klienta"); Imie = rset1.getString( "Imie"); } JTable jt; jt = new JTable (new String[][] {{ID_klienta,Imie}},kolumny); // <- chyba tu jest problem //(new String[][] {{ID_klienta,Imie}},kolumny); JScrollPane jsp = new JScrollPane(jt); getContentPane().add(jsp, BorderLayout.CENTER); } catch (Exception e) { System.out.println("failure to connect " + e); return; //(exit(1)); } } public static void main(String args[]) { SimpleTable st = new SimpleTable(); st.setVisible(true); System.gc(); } } ale nie wiem, jak do tej tablicy przekierować wszystkie dane z bazy danych Caly mój problem polega na tym, iż nie wiem jak pobrane dane z tej bazy, zapisać do macierzy, a następnie przekierować do JTable Pracuję w środowisku Eclipse, korzystam z ASA 11 Link do komentarza Udostępnij na innych stronach More sharing options...
mateusz midor Napisano Marzec 4, 2011 Zgłoś Share Napisano Marzec 4, 2011 Cześć, w Javie dodaje się dane do tabelki za pomocą tzw Modelu tabelki: TableModel model = ((DefaultTableModel)table.getModel(); Gdy masz pobrany model tabelki - w petli dodajesz sobie do tabelki kolejne wiersze poleceniem: model.addRow(); metoda addRow() przyjmuje wektor wartości, jakie chcesz miec w kolejnych komórkach dodawanego wiersza. Jeśli ta wiedza nie wystarczy - zobacz tutaj http://download.oracle.com/javase/1.4.2/do...TableModel.html Pozdrawiam Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.