Hallo,
ich bin neuling bezüglich der Java und SQL anbindung.
Ich möchte eine Art Verwaltungsprogamm zu schreiben, hierfür muss ich eine Tabelle aus einer SQL Datenbank (Firebird) in Java, mittels eines JTabels dastellen.
Ich habe ein Quellcode geschrieben, bei dem mir eclipse auch keine Fehlermeldung gibt, jedoch öffnet sich beim ausführen der Class mit dem JTable keine Tabelle.
Wisst ihr vielleicht mehr
Ich habe hier mal den Quellcode der Class in der das JTable ausgeführt werden soll:
package Layoutstudenten;
Ich weiß nicht wo mein Fehler ist, vielleicht könnt ihr mir helfen
Schonmal vielen Dank im Vorraus!
ich bin neuling bezüglich der Java und SQL anbindung.
Ich möchte eine Art Verwaltungsprogamm zu schreiben, hierfür muss ich eine Tabelle aus einer SQL Datenbank (Firebird) in Java, mittels eines JTabels dastellen.
Ich habe ein Quellcode geschrieben, bei dem mir eclipse auch keine Fehlermeldung gibt, jedoch öffnet sich beim ausführen der Class mit dem JTable keine Tabelle.
Wisst ihr vielleicht mehr
Ich habe hier mal den Quellcode der Class in der das JTable ausgeführt werden soll:
package Layoutstudenten;
Java:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JTable;
public class TB2 extends JFrame {
//Quelle:http://www.easy-coding.de/jtable-mit-daten-aus-der-datenbank-neu-zeichnen-t5280.html
JTable tab;
Statement stmt = null;
Connection con=null;
ResultSet rs =null;
private String user;
private String pw;
private String ur;
private String dataname;
private String prt;
public TB2(String benutzer, String passwort, String url, String dbName, String port){ //Konstruktor zum Erzeugen einer DB-Tabelleund Darstellen
String user=benutzer;
String pw=passwort;
String ur=url;
String dataname=dbName;
String prt=port;
Object[][] daten= new Object[4][3]; // 2-dim. Feld für Tabellendaten
String[] spalten={"Projektname","Kunde","Budget"}; // Überschriften der Spalten
tab=new JTable(daten,spalten); // eine JTable konstruieren
tab.setPreferredScrollableViewportSize(new Dimension(300,150)); // Größe
add(tab,BorderLayout.CENTER); // im Fensterzentrum einfügen
add(tab.getTableHeader(),BorderLayout.NORTH); // Spaltenüberschriften oben
addWindowListener( //Methode zum Reagieren auf Fensterereignisse hinzufügen
new WindowAdapter(){ //Instanz der Klasse WindowAdapter (mit leerem Interface WindowListener)
public void windowClosing(WindowEvent e) //überschreibt Reaktion auf Fensterschließen
{System.exit(0);} //mit Beenden des Programms
}
);
}
public void öffneDB()
{
try {
Class.forName("org.firebirdsql.jdbc.FBDriver"); // Treiber laden
} catch (Exception e) {
System.out.println("Fehler beim Laden des JdbcOdbc Treibers");
return;
}
try {
con = DriverManager.getConnection(ur,user,pw); // Verbindung zu Datenbank herstellen
stmt = con.createStatement();
} catch (Exception e) {
System.err.println("keine Verbindung zu "+ur);
return;
}
}
public void frageProjekt()
{
try {
rs = stmt.executeQuery("select * from Personen;"); // Datenbankabfrage
int zeile=0;
while (rs.next()){ //ResultSet abarbeiten: jeweils eine Zeile
tab.setValueAt(rs.getString(1),zeile,0); //1. Attribut: String mit Projektname
tab.setValueAt(rs.getString(2),zeile,1); //2. Attribut: String mit Kunde
tab.setValueAt(new Integer(rs.getInt(3)),zeile,2); //3. Attribut: Int mit Budget als Objekt
zeile++;
}
}catch (Exception e) {
System.err.println("Fehler beim Bearbeiten der SQL-Anweisung"+
": "+e.getMessage());
}
try{
con.close();
} catch (Exception e) {
System.out.println("Fehler beim Schließen der DB");
}
}
}
Ich weiß nicht wo mein Fehler ist, vielleicht könnt ihr mir helfen
Schonmal vielen Dank im Vorraus!