2Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
503
503
EMPFEHLEN
-
Ich lese Daten aus einer Datenbank aus:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
public Object[] select() { Object[] data; // data wird definiert try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM CUSTOMERS"); while (rs.next()) { // Hier müsste data befüllt werden mit // rs.getString("vorname"); // rs.getString("nachname"); } rs.close(); stmt.close(); } catch (SQLException ex) { System.out.println("error while selecting"); System.err.println(ex); } return data; } // --- // hiermit wird diese Methode von außerhalb aufgerufen: model.addRow(DB.INSTANCE.select());
Die Daten sollen dann einfach in eine JTable geladen werden.
Hat jemand eine Idee, wie ich meinen Gedankengang in die Tat umsetzen kann?
Evtl. mit einer Arraylist?"Ein Pessimist ist ein Optimist mit Erfahrung."
-
08.01.12 10:05 #2
Hi,
erstell für einen Customer doch einfach ein Objekt, in dem du die Werte speicherst. Die Customer-Objekte kannst du dann ganz einfach in einem Array/List abspeichern.
Dann brauchst du natürlich in deinem Model noch ein paar Methoden überschreiben, damit du aus deinem Customer Objekt die Werte wieder raus bekommst, die angezeigt werden sollen.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
Dankeschön. Hättest du vielleicht noch ein Codebeispiel für mich?
"Ein Pessimist ist ein Optimist mit Erfahrung."
-
08.01.12 13:37 #4
Die Customerklasse:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
public class Customer { private String firstname; private String familyname; public void setFirstname(String firstname) { this.firstname = firstname; } public String getFirstname() { return firstname; } public void setFamilyname(String familyname) { this.familyname = familyname; } public String getFamilyname() { return familyname; } }
Das DefaultTableModel:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
private final List<Customer> customerList = new ArrayList<Customer>(); private final DefaultTableModel model; private String[] columnNames = { "Firstname", "Familyname" }; /** * */ public DeinKonstruktorName() { model = new DefaultTableModel() { @Override public Object getValueAt(int row, int column) { // evtl. muss row noch -1 genommen werden Customer customer = customerList.get(row); if (column == 1) { return customer.getFirstname(); } else if (column == 2) { return customer.getFamilyname(); } return super.getValueAt(row, column); } @Override public int getColumnCount() { return columnNames.length; } @Override public String getColumnName(int column) { return columnNames[column]; } @Override public Class<?> getColumnClass(int columnIndex) { return String.class; } @Override public int getRowCount() { return customerList.size(); } }; JTable table = new JTable(model); }
und die Methode zum syncronizieren mit der DB:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
public void syncWithDatabase() { customerList.clear(); try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM CUSTOMERS"); while (rs.next()) { Customer c = new Customer(); c.setFirstname(rs.getString("vorname")); c.setFamilyname(rs.getString("nachname")); customerList.add(c); } rs.close(); stmt.close(); model.fireTableDataChanged(); } catch (SQLException ex) { System.out.println("error while selecting"); System.err.println(ex); } }
Ich hab den Code vorher nicht getestet. Ich kann dir also nicht versprechen, dass der funktioniert.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
Ähnliche Themen
-
JUnit: The method assertEquals(Object, Object) is ambiguous
Von DarthShader im Forum JavaAntworten: 4Letzter Beitrag: 24.10.10, 10:37 -
Object reference not set to an instance of an object.
Von ivanZ im Forum .NET CaféAntworten: 1Letzter Beitrag: 12.11.08, 11:42 -
Fehlermeldung: Object reference not set to an instance of an object.
Von deen_90 im Forum .NET DatenverwaltungAntworten: 5Letzter Beitrag: 28.08.07, 20:03 -
myHashMap.put(Object,Object) ?
Von JuSTuS24 im Forum JavaAntworten: 4Letzter Beitrag: 13.07.06, 11:36 -
Verständnisfrage Dim Sales(,) As Object = New Object(,)
Von flotschie im Forum .NET DatenverwaltungAntworten: 6Letzter Beitrag: 05.10.05, 19:48





Zitieren
Login





