JTable mit Datenbankinhalt befüllen

erdmulch

Bekanntes Mitglied
Hallo zusammen,

kann mir jemand sagen wie ich mit Hilfe einer array Liste die Daten von der Klasse "DataBase" ind die Klasse "TableDaten" bekomme?

Danke im voraus


Java:
import javax.swing.table.AbstractTableModel;



public class TableDaten extends AbstractTableModel
{
	String[] spaltenNamen = {"Nr.", "Titel", "Author", "verlag", "ISBN", "Kategorie", "Fach-Nr."};
	Object[][] daten = new Object [3][7];
	
	public int getRowCount()
	{
		return daten.length;
	}
	
	public int getColumnCount()
	{
		return spaltenNamen.length;
	}
	
	public String getColumnName(int num)
	{
		return spaltenNamen[num];
	}
	
	public boolean isCellEditable(int x, int y)
	{
		return false;
	}
	
	public Object getValueAt(int x, int y)
	{
		return daten [x][y];
	}
	
	public void setValueAt(Object obj, int x, int y)
	{
		daten[x][y] = obj;
		fireTableDataChanged();
	}
	
	
	
	
}


Java:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DataBase 
{
	public DataBase()
	{
		try 
		{
	     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	    }
		
	    catch (ClassNotFoundException e)
	    {
	        System.out.println("Fehler bei JDBC-ODBC-Brücke");
	    }
	    
	    try 
	    {
	        Connection con = DriverManager.getConnection( "jdbc:odbc:Access","","");
	        Statement stmt = con.createStatement();
	        String query = "SELECT Titel FROM buechertabelle;" ;
	        ResultSet rs = stmt.executeQuery(query);
	        while (rs.next())
	        	System.out.println(rs.getString(1));

	    }
  
	    catch (SQLException s) 
	    {
	        System.out.println("DB-Verbindungsfehler: " + s);
	    }
	}

}
 

stikio

Mitglied
arbeite mit vector ;-)

Java:
    Vector<String> columnNames = new Vector<String>();
    Vector<Vector<Object>> data = new Vector<Vector<Object>>();

Diese befüllst du dann durch deine SQL abfrage und weist sie später dem JTable zu

Java:
table = new JTable(data, columnNames);
scrollPane.setViewportView(table);
 

ARadauer

Top Contributor
Nein ein Vector ist eher veralltet, mach dir eine Arrayliste mit eigenen Objekten die die Zeile in der Datenbank darstellen.

Das nimmst du dann statt deinem data array. Nach dem setzen der Liste rufst du ein fireTableDataChanged des Model auf und die Tabelle sollte sich neuzeichnen...
 

Michael...

Top Contributor
Ich würde mich da ARadauer anschließen. Passe Dein TableModel an, halte die Daten in einer ArrayList gefüllt mit eigenen Objekten. Erweitere das Model um eine Methode setData(List<MyObject> data), mit der Du die Daten aus der DB Abfrage übergeben kannst.

Ausserdem würde ich in der setValueAt(...) nicht jedesmal behaupten, dass sich die kompletten Daten geändert haben ;-) einfach nur
Code:
fireTableCellUpdated(row, column);
aufrufen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
H Tabellenspalte in JTable in der falschen Reihenfolge Datenbankprogrammierung 10
M Datenbank editierbach machen in JTable Datenbankprogrammierung 13
L jTable mit Datenbankwerten befüllen Datenbankprogrammierung 7
S MySQL JTable zeigt nach Datenbankabfrage eine Spalte zu viel an Datenbankprogrammierung 0
A SQLite jTable binding mit Netbeans Datenbankprogrammierung 11
C MySQL JTable in JScrollPane nach insert aktualisieren Datenbankprogrammierung 3
M MySQL SQL Abfrage in JTable mit Berechnung Datenbankprogrammierung 3
L JTable-DB: Letzter wert wird nicht angezeigt. Datenbankprogrammierung 0
S MySQL jPMdbc&MySQL = Fehlerhafte Umlaute in JTable Datenbankprogrammierung 0
R HSQLDB Tabelle in JTable übertragen Datenbankprogrammierung 3
P MySql daten in leeren jtable übertragen Datenbankprogrammierung 5
D von Datenbank in JTable füllen Datenbankprogrammierung 16
D JTable stellt DB da Datenbankprogrammierung 24
A Ausgewählten Jtable Eintrag aus Db löschen Datenbankprogrammierung 9
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Rudolf MySQL MySQL Tabelle mit Fremdschlüsseln in JTable darstellen Datenbankprogrammierung 5
E csv datei in JTable einlesen Datenbankprogrammierung 3
D ArrayIndexOutOfBoundsException bei Update von JTable und Model Datenbankprogrammierung 13
N MySQL MYSQL Inhalt an JTable übergeben. Datenbankprogrammierung 11
0 ResultSet in JTable Datenbankprogrammierung 14
M MySQL Table in Jtable integrieren Datenbankprogrammierung 26
B MySQL Row und ColumnIndex aus einer JTable (mysqlDb) selectieren Datenbankprogrammierung 18
M JTable änderung sofort auch in MySQL ändern. Datenbankprogrammierung 7
X Daten einer DatenbankTabelle in JTable darstellen Datenbankprogrammierung 13
M SQL Abfrage in jTable einfügen Datenbankprogrammierung 8
oliver1974 JPA, JTable und 2 DB-Tabellen... Datenbankprogrammierung 2
K JTable mit JDBC verbinden Datenbankprogrammierung 5
D PostgreSQL Von JTable -> Datenbank Datenbankprogrammierung 6
T Recordsets in eine JTable einlesen mit Netbeans 6.0 Datenbankprogrammierung 2
P JTable mit Daten aus MySQL befüllen mit Filterung Datenbankprogrammierung 3
N ID des Datensatzes aus JTable holen (nicht Index!) Datenbankprogrammierung 4
J Von Datenbank --> Vector --> JTable Problem Datenbankprogrammierung 6
J Klasse für Datensatzblättern in Verbindung mit JTable gesuch Datenbankprogrammierung 6
J jTable aktualisieren! Datenbankprogrammierung 2
V DB-Inhalt in JTable Datenbankprogrammierung 5
D Daten von Datenbank in JTable füllen... Datenbankprogrammierung 3
G JTable befüllen Datenbankprogrammierung 5
R Visuallisierung von Datenbankinhalt Datenbankprogrammierung 2
OnDemand Column char type, wie befüllen? Datenbankprogrammierung 2
S MySQL Befüllen von mehreren Spalten Datenbankprogrammierung 1
N String Array in While Schleife befüllen Datenbankprogrammierung 2
E Access Datenbank mit Insert befüllen Datenbankprogrammierung 5
GianaSisters MySQL INT Datenbankfeld gar nicht befüllen ?! Datenbankprogrammierung 2
E MySQL Befüllen einer MySQL DB mit großen Daten Datenbankprogrammierung 6
C MySQL Datenbank mit Hibernate befüllen Datenbankprogrammierung 5
M Tabellen gleichzeitig befüllen? Datenbankprogrammierung 3

Ähnliche Java Themen


Oben