SQL Abfrage in jTable einfügen

Status
Nicht offen für weitere Antworten.

MTH_1981

Mitglied
Hallo an das Froum,

bin in Sachen Java noch relativer Neuling und habe gerade Probleme beim Füllen einer JTable mit einer SQL Abfrage und dem TabelModell.
Habe keine Ahnung wie ich das anstellen soll ich habe drei Klassen.

1 Klasse für DB Connection
2 Klasse für das Abstract Table Model
3 Klasse für GUI und Tabelle
4 Klasse Main Klasse für Start


DB Klasse:
Code:
import java.sql.*;

public class DB {
	private Connection connection;

	public DB() throws ClassNotFoundException, SQLException{
		Class.forName("com.mysql.jdbc.Driver");
		connection = DriverManager.getConnection("jdbc:mysql://IPAdresse/Artikel","user","pw");
		Statement stm = connection.createStatement();
		
	}

	public ResultSet abfrage(String abfrage) throws SQLException{
		Statement stm = connection.createStatement();
		return stm.executeQuery(abfrage);
		
	}
}

Klasse für Abstract table Model
Code:
import javax.swing.table.AbstractTableModel;
import java.sql.*;
import java.util.Vector;

public abstract class TabellenModellGUI extends AbstractTableModel {
	
	private DB db1;
	String kopf[] = {"Artikel-ID", "Artikel", "Preis"};
	
	
	public TabellenModellGUI() throws Exception, SQLException{
		
	}
	
	
	@Override
	public int getColumnCount() {
		// TODO Auto-generated method stub
		return kopf.length;
	}

	
	
	@Override
	public String getColumnName(int i) {
		// TODO Auto-generated method stub
		return kopf[i];
	}


	@Override
	public int getRowCount() {
		return 0;

	}

	@Override
	public Object getValueAt(int row, int col) {
               return null;
       }

	
    public boolean isCellEditable(int row, int col) {
        return false;
    }


}

In der anderen klasse verbinde ich dann nur das TabellenMODELL mit der jTable und in der Main Klasse gebe ich es aus.

Mein Frage wäre nun ich will eine Abfrage auf die Tabelle tbl_Artikel machen aber mein Problem ist wie fülle ich die Tabelle mit dem RecordSet bei GetValueAT.
Weiß nicht so recht wie ich das anstellen soll.

Wäre dankbar wenn viell jemand einen Tipp hat wo ich das machen kann mit dem befüllen.
Tu mich gerade mit dem Denken in objekten noch ein wenig schwierig.

Danke im Vorraus für Hilfe
 

sparrow

Top Contributor
Könntest du bitte genauer spezifizieren was genau nicht geht?

Mögliche Antworten die mir einfallen:

1) Zur Übunng ist es vielleicht ganz sinnvoll erst einmal das "DefaultTableModel" zu verwenden. Wenn das dann geht kann man sein eigenes bauen.
2) Um von einer Klasse auf Inhalte einer anderen zuzugreifen braucht man dort ein Objekt das entsprechend verweist.
 

MTH_1981

Mitglied
Hey sparrow,

vielen Dank für deine Antwort.
Ich will eine Abfrage machen wo mir die Artikel aus der Tabelle auflistet mit folgender Abfrage:

Code:
Statement stm = connection.createStatement();
ResultSet rs = stm.executeQuery("select AID, Artikelbeschreibung, Preis from tbl_Artikel order by AID");

wie schaffe ich es nun das Ergebnis dieser Abfrage in die Tabelle bekomme. Normal gebe ich es ja folgender maßen auf der Console aus:

Code:
System.ou.println(rs.getInt("AID"));
System.ou.println(rs.getString("Artikelbeschreibung"));
System.ou.println(rs.getDouble("Preis"));

Das Ergebnis der Abfrage muss ich doch irgendwie in die Methode
Code:
	public Object getValueAt(int row, int col) {
		return null;
       }

bekommen aber ich weiß leider nicht wie ich das anstelle.
 

Taramsis

Bekanntes Mitglied
wie Sparrow schon meint würde ich auch ein DefaultTableModelbenutzen
Java:
chooseValueTable = new javax.swing.JTable();
chooseValueTable.setName("bla");
jScrollPane1.setViewportView(chooseValueTable);
tabelenName.setModel(new javax.swing.table.DefaultTableModel(this.XMethode, die dein Resultset beinhaltetX, this.header())
            {
                public boolean isCellEditable(int row, int column)
                {
                    return false;
                }
            } );

Ich empfehle dir grad für Einsteiger Netbeans!
 

homer65

Top Contributor
Mal ein Beispiel wie bei mir so ein TableModel aussieht:
Code:
package pack;
import java.util.*;
import javax.swing.table.*;
import java.sql.*;
public class JournalModel extends AbstractTableModel 
{
	static final long serialVersionUID = 1;
	String[] columnNames = new String[8];
	ArrayList<JournalSatz> al = new ArrayList<JournalSatz>();
	public JournalModel()
	{
		DB2 db2 = new DB2();
		ResultSet rs = db2.selectJournal(Global.con);
		if (rs != null)
		{
			JournalSatz ts = db2.NextJournal(rs);
			int anz = 0;
			while (ts != null)
			{
				al.add(ts);
				ts = db2.NextJournal(rs);
				anz++;
				if (anz > Parameter.maxJournal) ts = null;
			}
		}
		columnNames[0] = "Datum";
		columnNames[1] = "Benutzer";
		columnNames[2] = "Funktion";
		columnNames[3] = "CUU";
		columnNames[4] = "Volid";
		columnNames[5] = "Model";
		columnNames[6] = "Gebiet";
		columnNames[7] = "Beschreibung";
	}
	public Object getValueAt(int row,int col)
	{
		JournalSatz ts = al.get(row);
		Object o = new Object();
		if (col == 0)
		{
			o = ts.getDatum();
		}
		if (col == 1)
		{
			o = ts.getBenutzer();
		}
		if (col == 2)
		{
			o = ts.getFunktion();
		}
		if (col == 3)
		{
			o = ts.getCuu();
		}
		if (col == 4)
		{
			o = ts.getVolid();
		}
		if (col == 5)
		{
			int id = ts.getModell_id();
			ModellSatz gs = Global.modell.getById(id);
			o = gs.getName();
		}
		if (col == 6)
		{
			int id = ts.getGebiet_id();
			GebietSatz gs = Global.gebiet.getById(id);
			o = gs.getTyp();
		}
		if (col == 7)
		{
			o = ts.getKommentar();
		}
		return o;
	}
	public int getRowCount()
	{
		int i = al.size();
		return i;
	}
	public int getColumnCount()
	{
		int i = 8;
		return i;
	}
	public String getColumnName(int col)
	{
		return columnNames[col];
	}
	public void setValueAt(Object value,int row,int col)
	{
		
	}
	public boolean isCellEditable(int row,int col)
	{
		return false;
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
M MySQL SQL Abfrage in JTable mit Berechnung Datenbankprogrammierung 3
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
L PostgreSQL Abfrage mit EclipseLink Datenbankprogrammierung 7
S Berechnung des Datumsunterschieds in der SQL-Abfrage Datenbankprogrammierung 1
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
nonickatall MySQL SQL Abfrage erneut ausführen oder rs aktualisieren Datenbankprogrammierung 14
Kirby.exe Verständnisproblem bei SQL Abfrage Datenbankprogrammierung 27
N SQL-Abfrage in JTextField ausgeben Datenbankprogrammierung 6
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
F Mapping einer SQL Abfrage in eine Klasse Datenbankprogrammierung 4
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
W MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen Datenbankprogrammierung 4
D SQL Abfrage optimieren Datenbankprogrammierung 35
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
D Regelmäßige Abfrage aus Workbench Datenbankprogrammierung 6
M SQL-Statement Hilfe bei SQL-Abfrage Datenbankprogrammierung 2
D Abfrage - Spalte(Datum) ändern (Oracle) Datenbankprogrammierung 7
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
M MySQL Anbindung und Abfrage an die Datenbank Datenbankprogrammierung 2
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
E Abfrage auf HSQLDB Datenbankprogrammierung 4
S Abfrage von Gruppentickets(Mehrere Resorts an einem Tag) Datenbankprogrammierung 1
S SQL Abfrage Datenbankprogrammierung 2
F Abfrage der letzten Einträge Datenbankprogrammierung 2
J SELECT Abfrage/Suche Datenbankprogrammierung 4
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
OnDemand SQL Abfrage und Equals Datenbankprogrammierung 4
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
M MySQL MySQLSyntaxError in Java, obwohl Abfrage in HeidiSQL korrekt Datenbankprogrammierung 2
ruutaiokwu sql abfrage mit rekursion, mit oder ohne cte... Datenbankprogrammierung 5
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
L SQL-Abfrage bricht vor dem Ende ab Datenbankprogrammierung 2
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
M Derby/JavaDB Komplexe Abfrage vereinfachen Datenbankprogrammierung 2
S SQL-Abfrage, Filewriter .txt Datei Datenbankprogrammierung 2
P Datenbank- Abfrage mit null'en Datenbankprogrammierung 2
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
D MySQL Erstellen der richtigen Abfrage Datenbankprogrammierung 3
D MySQL DB Abfrage Prüfen Datenbankprogrammierung 10
D JDBC insert mit select abfrage Datenbankprogrammierung 5
E PostgreSQL Exception too ...many clients already bei DB-Abfrage Datenbankprogrammierung 14
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
H JSON Array abfrage beschleunigen Datenbankprogrammierung 2
S MySQL Abfrage: Wenn Feld leer, alles anzeigen Datenbankprogrammierung 5
Mrtwomoon Abfrage-Ergebnisse in einem Fenster darstellen Datenbankprogrammierung 8
0 SQL Abfrage Bestellung Datenbankprogrammierung 15
G SQLite SQLite Abfrage Datenbankprogrammierung 4
C Mit jsp über Java eine DB Abfrage durchführen --> java.lang.ClassNotFoundException Datenbankprogrammierung 4
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
B My-SQL Abfrage - Out Of Memory Error Datenbankprogrammierung 13
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
K SQLite Einfache DB-Abfrage Datenbankprogrammierung 2
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
C Sortierung bei SQL-Abfrage Datenbankprogrammierung 3
B Bei Abfrage schießt der Speicher in die Höhe Datenbankprogrammierung 6
M SQL Abfrage Dupliakte bei Kreuzvergleich Datenbankprogrammierung 2
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
G SQL Abfrage Datenbankprogrammierung 5
C SQL-Abfrage Datenbankprogrammierung 4
B SQL-Abfrage Datenbankprogrammierung 4
R SQL Abfrage, je nach ausgewählten Parametern Datenbankprogrammierung 11
C Wert in SQL-Abfrage zählen lassen Datenbankprogrammierung 8
R Memory leaks bei DB Abfrage Datenbankprogrammierung 16
S Abfrage auf SQLite-DB Datenbankprogrammierung 2
I Belastet es das System zu sehr einen Timer jede 0.2 Sekunden eine DB Abfrage machen zu lassen? Datenbankprogrammierung 9
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
G Abfrage von Teilnehmern Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
A MySQL Ergebnss aus SQL Abfrage in Hauptklasse verwenden Datenbankprogrammierung 3
N Geschwindigkeit bei if Abfrage Datenbankprogrammierung 11
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
G Performante SQL- Abfrage (LIKE %) Datenbankprogrammierung 21
G Join Abfrage Datenbankprogrammierung 12
M db abfrage fehlerhaft Datenbankprogrammierung 5
C MySQL Abfrage mit flexibler WHERE bedingung Datenbankprogrammierung 10
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
G SQL Abfrage über mehrere Tabellen Datenbankprogrammierung 28
H SQL Abfrage - zwei tabellen vergleichen. Datenbankprogrammierung 2
H MySQL Datenbank Abfrage Datenbankprogrammierung 10
André Uhres SQL Abfrage erkennt keine Buchstaben mit Akzenten (z. B. é, è) Datenbankprogrammierung 3
E MySQL Klasse zur Abfrage statisch oder Standard Datenbankprogrammierung 5
J Mit einer Abfrage Worte suchen die in Zwei Tabellen enthalten sind Datenbankprogrammierung 5
G M:N Abfrage Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben