Daten einer DatenbankTabelle in JTable darstellen

XoxoL

Mitglied
Guten Tag allerseits,
ich habe ein Problem bei der Darstellung einiger Daten einer Datenbanktabelle in einer JTable
Ich habe schon viel nachgelesen aber ich verstehe immer noch eine ganze Menge nicht.
z.B. weiß ich, dass ich ein TableModel hier für benötige hab auch ein paar Beispiele gefunden

Java:
TableModel model = new AbstractTableModel() {
    String[][] data = new String[] { {"A1","A2"},
                                   {"B1","B2"}});
    public int getRowCount() { return data.length; }
    public int getColumnCount () { return 2; }
    public Object getValueAt (int row, int column) {
      return data[row][column];
    }
  }

da ich meine Daten aus einer Datenbanktabelle darstellen will bräuchte ich so etwas wie:
:noe:
Java:
             dbconnection con = new dbconnection();
             dbFunktion fkt = new dbFunktion();
		
	String qrKunden = "SELECT KDNR, KName, KFirma FROM Kunden";
		
	String [][][] KundenData = new String[fkt.getID()-1][fkt.getID()-1][fkt.getID()-1];
	String [] columnNames = {"KdNr", "Name", "Firma"};
	int nr=0, name=0, firm=0;
		
	con.connect();
	con.executeQuery(qrKunden);
genaues Problem ich weiß nicht wie ich das Aray mit Daten aus der Datenbank füllen soll ;(

ich bin für jede Antwort dankbar.
 

XoxoL

Mitglied
Für die jenigen die das selbe Problem haben könnte es interessant sein.
Ich die Vorgehensweise geändert, ich arbeite mit Vectoren und es scheint zu klappen bis auf ein paar Kleinigkeiten.

mit Hilfe dieser funktion hole ich die Daten aus der Datenbanktabelle und füge diese einem Vector hinzu zwar klappt es vorerst nur für einen Datensatz aber ich arbeite daran es zu verfolständigen
Java:
 public Vector KundenModel() throws Exception{
	    Vector data = new Vector();
	    Vector  rowA  = new Vector();
	    	
	    con.connect();
                 con.executeQuery(qrKundenModel);
	    while (con.rs.next()) {
	         for (int i = 1; i <= con.clmCnt; i++) {
	         rowA.add(con.rs.getString(i));   
                     }
		        
                }
                data.add(rowA);
                con.dbdisconnect();
	
                return data;
   }
den Vector übergebe ich an die JTable und es klappt
Java:
         JTable table = new JTable( fkt.KundenModel(), titels );
wenn mir jemand noch auf die Spünge helfen kann wie ich alle Datensätze dem Vector data hinzufügen kann were ich sehr verbunden.
 

Michael...

Top Contributor
zwischen Zeile 7 und 8 muss noch
Code:
rowA  = new Vector();
rein.
Du brauchst für jede Zeile ein neues Vector Objekt
 

XoxoL

Mitglied
Danke deine Antwort hat mir sehr geholfen:toll:

und hier die komplette Funktion für die jenigen die auf das gleiche Problem stoßen sollten

Java:
         public Vector KundenModel() throws Exception{
	    	Vector data = new Vector();
	    	Vector  rowA  = new Vector();
	    	
	    	con.connect();
		    con.executeQuery(qrKundenModel);
		    while (con.rs.next()) {
		    	rowA = new Vector();
		        for (int i = 1; i <= con.clmCnt; i++) {
		           rowA.add(con.rs.getString(i));   
		         }
		        data.add(rowA);
		    }	  
		    con.dbdisconnect();
	
	    	return data;
	    }

:smoke:
 

nickname

Bekanntes Mitglied
Hi XoxoL,

ich habe so etas ähnliches vor aber zuerst mit einer ComboBox. Hast du in der Hinsicht schon
Erfahrungen gemacht. Habe bis jetzt noch nicht mit der Klasse Vector gearbeitet. Kann ich diese
dafür einsetzten?

Und würde gerne wissen, ob deine Methode
Java:
con.connect();
in Zeile fünf ein einfacher Verbindungsaufbau ist.

danke,
nickname
 

XoxoL

Mitglied
Hi,
mit der Combobox noch nicht aber das steht mir noch bevor, wenn ich etwas herrausgefunden habe werde ich es hier posten

hier die connect() Funktion

Java:
    public void connect() throws Exception {
        Class.forName(DBdriver);
        con = DriverManager.getConnection(DBurl);
    }
 

nickname

Bekanntes Mitglied
Hi, bin gerade dabei aber hab noch ein paar Prob. Wäre nett, wenn du ein paar Ansätze mal bei
Gelegenheit vorstellen würdest.

Vielleicht kannst Du mir noch eine Frage beantworten, weil ich da noch ein Verständnisprob. habe.

[DUKE]Rufst du deine connect() immer auf, wenn Du Datan aus der DB abfragst? Ich dacht, es würde
reichen dies nur einmal zu tun und dann, wenn das Programm endet, diese zu schliessen?[/DUKE]

Deshalb denke ich auch, dass ich die Element nicht in der ComboBox speichern könnte.
Aber warum eigentlich nicht, denn wenn ich z.B. in einer JTextField anzeigen kann, warum dann auch nicht in einer ComboBox..:bahnhof:

Bin gerade dabei mir die Vector-Klasse anzuschauen:rtfm:

danke,

nickname
 

XoxoL

Mitglied
du hast Recht es reicht einmal die Verbindung aufzubauen und einmal zu trenen, mit meinem Programm werden aber zwei Nutzer arbeiten die vieleicht parallel arbieten werden
 

nickname

Bekanntes Mitglied
HI,

Xoxol hat gesagt.:
...es reicht einmal die Verbindung aufzubauen und einmal zu trenen...
meinst Du damit eine permanente Verbindung? Das bekomme ich einfach nicht hin. Wenn ich
Daten aufrufen möchte, muss ich auch in dieser Methode halte den Treiber und die Verbindung ansich
aufrufen. Wenn nicht, bekomme ich beim Aufrufen meiner Daten eine "NullPointerException" auf meine
"stat = connection.createStatemanet();" .;(

Bekommst du das nicht????:L

danke,

nickname
 

nickname

Bekanntes Mitglied
Hi Xoxol,

hab mir was anderes überlegt. Was hältst du davon? Hab es mal über Connection Pool versucht
Java:
public DataSource getConnectionPoolDataSource(String server, String port,
													String database, String user, String password)
	{
		MysqlConnectionPoolDataSource source;
		
			try{
				source = new MysqlConnectionPoolDataSource();
				source.setServerName(server);
				source.setPort(Integer.parseInt(port));
				source.setDatabaseName(database);
				source.setUser(user);
				source.setPassword(password);
			}
			
			catch(Exception e)
			{
				e.printStackTrace();
				source = null;
			}
		return source;
	}
	
	
	
			public void abfrageDatenbank()
			{
				try{
					ds = this.getConnectionPoolDataSource("localhost" ,"3306", "adressen", "rXXXtX", "mXXXXXXX2");
				
				String str = "SELECT * FROM adresse";
				con = ds.getConnection();
				stat = con.createStatement();
				rs = stat.executeQuery(str);
				
					while(rs.next())
					{
						name = rs.getString("name");
						vorname = rs.getString("vorname");						
						System.out.println(name + " " + vorname);
					}
					stat.close();
                                       con.close();
					}
				
				catch(Exception e)
					{
						e.printStackTrace();
					}
			}
Mir ist nur nicht klar ob die Verbindung zur DB jetzt virtuell oder physikalisch geschlossen ist.
Ich kenne mich noch garnicht mit ConnectionPool aus. Ist das überhaupt sinnvoll das zu benutzen?
Und was bedeutet das überhaupt, dass die Verbindung virtuell oder physikalisch geschlossen ist?

Wie immer mehr Fragen als Antworten...:rtfm:

danke,

nickname
 

XoxoL

Mitglied
Ich bin auch ein Anfänger und programmiere soweit meine Kenntnisse reichen und wenn ich auf ein Problem stosse suche ich nach :rtfm: Lösungen "learning by doing". Ich habe mehrere Methoden ausprobiert und eine ausgewählt die sofort und einfach funktioniert hat. Mit connectionPool habe ich noch keine Erfahrungen. Mal ne andere Frage mit welcher Datenbank arbeitest du oder hast vor zu arbeiten?
 

nickname

Bekanntes Mitglied
Hi,

XoxoL hat gesagt.:
mit welcher Datenbank arbeitest du
arbeite mit MySQL und dem MySQL Query-Browser. Bin auch noch nicht lange damit zu gange.
Und was ist mit Dir? Mit welcher arbeitest du denn?


XoxoL hat gesagt.:
wenn ich auf ein Problem stosse suche ich nach Lösungen "learning by doing".
so versuche ich es auch immer.:rtfm:

XoxoL hat gesagt.:
Mit connectionPool habe ich noch keine Erfahrungen.
Habe ich auch nicht. Das war auch mein erster Versuch. Ich weiß nur, dass man
die Verbindung nicht wirklich (also physikalisch) sondern nur virtuell mit close()
trennt und das der "neue" Verbindungsaufbau halt keinen kompletten neuen Aufbau
benötigt. Mehr weiß ich aber auch nicht. Es gbit wenig darüber zu lesen.

Mich würde es aber echt interessieren, wie du das mit deiner ComboBox gelößt hast,
denn irgendwie bekomme ich das nicht hin.

gruß
nickname
 

XoxoL

Mitglied
ich habe bis jetzt mit Access gearbeitet aber immer wieder auf Probleme gestossen überlege mir gerade auf JavaDB umzusteigen. Habe ein paar Tests damit gemacht, bei netbeans kann man die Daten einer JavaDBTabelle in JTable oder ComboBox einfach einbinden ohne viel code zu schreiben. Weiss aber noch nicht wie ich die Daten aus Access in JavaDB importieren kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
E Daten einer SQL-Datenbank aus Combobox in labels schreiben Datenbankprogrammierung 6
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
E MySQL Befüllen einer MySQL DB mit großen Daten Datenbankprogrammierung 6
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
G Daten schneller aus einer DB auslesen Datenbankprogrammierung 9
M Mit Java Data Objects Daten in einer MySQL-Datenbank manipul Datenbankprogrammierung 9
S Daten aus einer MySQL-Datenbank auslesen Datenbankprogrammierung 7
G speichern und auslesen von daten aus einer datenbank Datenbankprogrammierung 8
C Verschlüsselung von Daten in einer DB Datenbankprogrammierung 2
D Alte Daten ins neue Modell quetschen Datenbankprogrammierung 6
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
OnDemand Daten verschlüsseln Datenbankprogrammierung 42
L Oracle Daten in Häppchen selektieren Datenbankprogrammierung 5
L Oracle Daten von Oracle zu MSSQL übertragen Datenbankprogrammierung 4
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Z Ausgabe nur bestimmter Daten Datenbankprogrammierung 6
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Kirby.exe Vorschläge zur Verschlüsselung von Daten in der DB Datenbankprogrammierung 2
T Java Spiel Daten speichern Datenbankprogrammierung 1
LimDul H2 Embedded DB und Gigabytes an Daten Datenbankprogrammierung 0
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
R Wie mit zu viele Daten umgehen? Datenbankprogrammierung 2
F MySQL Wie speichere ich Daten zeitlich abhängig? Datenbankprogrammierung 4
T Oracle Normalisierung und Daten splitten Datenbankprogrammierung 1
JG12111989 DB-Daten werden falsch dargestellt Datenbankprogrammierung 7
K H2 Daten in die H2 console DB eintragen Datenbankprogrammierung 2
L SQLite Ändern der Daten in einem UNIQUE Feld Datenbankprogrammierung 1
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
L Oracle Daten von einem Server zum andere kopieren Datenbankprogrammierung 24
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
W Daten in Java intern abfragen Datenbankprogrammierung 1
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
I MySQL Datenbankstruktur angleichen - Daten behalten Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
O mit Multi-Thread Daten aus Datenbank lesen und schreiben Datenbankprogrammierung 22
F Daten verdichten Datenbankprogrammierung 0
B Daten aus DB in Word Dokument Datenbankprogrammierung 2
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
OnDemand MySQL Daten aktualisieren Datenbankprogrammierung 6
D Daten von einem Server in eigenem Java-Programm benutzen Datenbankprogrammierung 6
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
S Daten aus Form in Datenbank nur einmal eintragen Datenbankprogrammierung 2
6 JBDC Daten verschlüsseln? Datenbankprogrammierung 2
F MySQL Daten ändern über Java Datenbankprogrammierung 3
G SQLite Daten aus SQLite DB in andere SQLite DB importieren Datenbankprogrammierung 4
H Grosse Menge an Daten in eine Datenbank Datenbankprogrammierung 32
M Daten nachträglich hinzufügen Datenbankprogrammierung 6
N HSQLDB Daten Auslesen Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
P MySql daten in leeren jtable übertragen Datenbankprogrammierung 5
SexyPenny90 SQL Daten sortieren und top 5 ausgeben Datenbankprogrammierung 7
L Hibernat will Daten nicht einfügen??? Datenbankprogrammierung 2
B MySQL DB Daten aktualisieren Datenbankprogrammierung 9
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6
S JPA: DB Schema ändern und Daten nicht verlieren - wie? Datenbankprogrammierung 5
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
F Daten in die DB hinzufügen Datenbankprogrammierung 7
H Klasse welche Mysql Daten zurück gibt Datenbankprogrammierung 18
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
H Daten in/aus Datenbank schreiben Datenbankprogrammierung 2
M DropDownBoxen mit MySQL Daten füllen Datenbankprogrammierung 3
E MySQL Daten in die Datenbank eingeben via Java Programm Datenbankprogrammierung 3
F ORA 17410 Keine weiteren Daten aus Socket zu lesen Datenbankprogrammierung 2
B Daten aus Datenbank holen Datenbankprogrammierung 6
T Problem beim schreiben von daten Datenbankprogrammierung 4
N Daten aus Datenbank abfragen und anzeigen in der Praxis?? Datenbankprogrammierung 2
G MySQL Bekomme keine Daten. Datenbankprogrammierung 7
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
G Daten aggregieren Datenbankprogrammierung 11
Gossi Oracle 2 Daten (Datum) vergleichen Datenbankprogrammierung 6
W MySQL Daten aus bestimmter Spalte lesen Datenbankprogrammierung 2
J Doppelte Daten in Spalte, nur die erste abrufen wie? Datenbankprogrammierung 15
P Daten aus MySql Datenbank lesen??? Datenbankprogrammierung 6
J Daten vergleichen Datenbankprogrammierung 10
T Designfrage: DB-Daten direkt oder verzögert speichern Datenbankprogrammierung 2
Dragonfire Daten aus jsp Datei in datenbank speichern Datenbankprogrammierung 15
A Daten von Webshop einlesen Datenbankprogrammierung 5
S Daten aus jTextfiled in DB schreiben - SQL Befehl Datenbankprogrammierung 2
T Daten aus DB in variable Zahl an Variablen speichern Datenbankprogrammierung 18
A Datenbankanbindung an mySQL und Ein-/Auslesen der Daten Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben