# MySql daten in leeren jtable übertragen



## paddyj427 (12. Mai 2012)

Hallo Leute,

Ich habe eine MySQL Datenbank mit mehreren Spalten erstellt. Mit Netbeans habe ich mir die GUI von der Datenbank gebastelt. Mit Eclipse verwalte ich Server, Client und die Interfaces. Netbeans habe ich mir ausschließlich wegen der GUI zugelegt. Die Verbindung zwischen Datenbank und Java steht soweit. Ich kann mir mit dem SQL Command Line Client die Daten anzeigen lassen, die ich in die Datenbank eingegeben habe.

Nachdem ich mir diesen Beitrag durchgelesen habe:
http://www.java-forum.org/datenbankprogrammierung/119140-mysql-table-jtable-integrieren.html
weis ich wie ich mir die Daten unten in der Kommandozeile auslesen lassen kann.

Meine Frage:
Wie bekomme ich meine Daten aus der MySQL Tabelle in das leere Netbeans GUI hinein?


Danke für die Hilfe


----------



## Fab1 (12. Mai 2012)

Hallo,

folgendes Tutorial von Beni sollte dir helfen. http://www.java-forum.org/bilder-gu.../7035-jtable-teil-2-kommen-daten-tabelle.html

Ich würde das wirklich sehr einfach zu bedienende DefaultTableModel wählen.

[EDIT] Es gibt für Eclipse auch einen GUI-Builder mit dem man GUI's ähnlich wie in Netbeans entwickeln kann. Welcher mächtiger ist, kann ich allerdings nicht beurteilen.[/EDIT]


----------



## paddyj427 (12. Mai 2012)

Hi,

erstmal danke für die schnelle Rückmeldung. Den angesprochenen Link hab ich auch schon gefunden und ich find ihn auch sehr praktisch, allerdings beantwortet er meine Frage nicht wirklich.

Die Klasse JTableDemo erstellt mir ja nur eine leere Tabelle, in die ich Spalten und Zeilen einfügen kann. Wie gesagt hab ich mir mit Netbeans schon eine Vorlage gebastelt(die Buttons funktionieren halt noch nicht). Nur wie ich mir meine Daten aus der MySQL Datenbank in meine Netbeans-Template verfrachten kann ist mir ein absolutes Rätsel.


----------



## Fab1 (12. Mai 2012)

Du benutzt aber schon ein JTable oder? Nicht das du nun das Rad neu erfinden möchtest. 

hört sich nämlich ganz danach an.


----------



## paddyj427 (12. Mai 2012)

Meine AusgabeTabelle von meinem Template ist ein jtable. Darüber habe ich MenuBar, ein paar Buttons und ScrollPane platziert. Ich hab mir im Endeffekt das GUI von Netbeans zunutze gemacht (in der Design Ansicht). Den Code der dahinter steckt, hat das Programm für mich übernommen (in der Source Ansicht).


----------



## Fab1 (12. Mai 2012)

Das mit dem GUIBuilder ist mir schon klar.

Trotzdem musst du den Code dahinter verstehen um der Table Daten hinzuzufügen. 

Grundsätzlich brauchst du folgendes:

das DefaultTableModel 


```
DefaultTableModel tModel;
```

Die Spaltennamen die du dem DefaultTableModel übergibst


```
String [] columnNames = {"ID","Name", "Vorname", "Schuldenbetrag"};
		tModel = new DefaultTableModel(columnNames, 0);
```

Und natürlich den SQL Query den du bereits programmiert hast, so wie ich das verstanden habe.

ich hab mal ein Beispiel dazu gepostet. Wichtig ist halt, dass du die Ergebnisse vom ResultSet dem Model übergibst. Also also dem TableModel eine Zeile (row) hinzufügst.


```
private void searchNameAndSurname(){
			
		try {
			
			
			stmt = con.createStatement();
			
			
				rs = stmt.executeQuery("SELECT * FROM tbl_schulden WHERE Vorname = '" + vorname + "';");
			

			

		} catch (SQLException e) {
			e.printStackTrace();
		}
		resultSetSearch();
	}
	/**
	 * Speichert die gefundenden Datensätze in einem Object Array.
	 */
	private void resultSetSearch() {

		try {
			ResultSetMetaData rsmd = rs.getMetaData();

			int colNo = rsmd.getColumnCount();

			while (rs.next()) {

				Object[] objects = new Object[colNo];

				for (int i = 0; i < colNo; i++) {

					objects[i] = rs.getObject(i + 1);

				}

				tModel.addRow(objects);
				
			}

			stmt.close();
			con.close();

		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
```

Grundsätzlich solltest du aber nochmal genau erklären, welches Problem du denn genau hast. Irgendwie Blick ich glaub ich nicht so ganz durch.


----------

