Hallo,
ich habe eine Access-Datei, sbdemo, die eine Tabelle Pizza enthält. Wie mache ich es, das die Daten der Tabelle Pizza in eine Tabelle in einem JFrame geschrieben werden?
Hier mein Ansatz zur Tabelle im JFrame:
Code:
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tabelle extends JFrame {
public Tabelle(){
super("Daten in Tabelle anzeigen");
Connection con = null;
Statement stmt = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:sbdemo", "","");
stmt = con.createStatement();
String leer = " ";
ResultSet rs = stmt.executeQuery(
"SELECT Name ,Preis FROM Pizzas");
while (rs.next() ){
String Namen = rs.getString(1);
double Preis = rs.getDouble(2);
//Auf der Konsole wird es schon wunderbar ausgegeben
System.out.println("Name: "+Namen+" "+"Preis: "+Preis);
}
} catch (Exception e){
System.err.println(e);
}
JTable table = new JTable(); //Daten von oben in die Tabelle schreiben
Container cp = getContentPane();
cp.add(new JLabel("Speisekarte"), BorderLayout.NORTH);
cp.add(new JScrollPane(table), BorderLayout.CENTER);
}
public static void main(String[] args){
Tabelle frame = new Tabelle();
frame.setLocation(100,100);
frame.setVisible(true);
}
}
Schon mal danke!
Aber ich bin davon ausgegangen das ich die Daten nur noch in einen Vektor o.ä. schreiben muß und dann der Tabelle übergeben kann: JTable(DATEN, Spaltenueberschriften);
So, jetzt bin ich zumindest schon so weit das mir der letzte Eintrag in der Datenbank in der JTable angezeigt wird! Was muß ich jetzt noch machen damit alle Einträge der Datenbank in den JTable geschrieben werden?
Kann mir da jemand weiterhelfen?
Code:
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Tabelle extends JFrame {
public Tabelle(){
super("Daten in Tabelle anzeigen");
setSize(600,400);
Connection con = null;
Statement stmt = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:sbdemo");
stmt = con.createStatement();
String leer = " ";
ResultSet rs = stmt.executeQuery(
"SELECT Name ,Preis FROM Pizzas");
while (rs.next() ){
//String Namen = rs.getString(1);
//double Preis = rs.getDouble(2);
//System.out.println("Namen: "+Namen+" "+"Preis: "+Preis);
String Preis = String.valueOf(rs.getDouble(2));
String rowData[][]={ {rs.getString(1), Preis}};
String columnNames[]={ "Name" , "Preis"};
System.out.println(rowData);
System.out.println(columnNames);
System.out.println(Preis);
JTable table = new JTable(rowData, columnNames);
Container cp = getContentPane();
cp.add(new JLabel("Speisekarte"), BorderLayout.NORTH);
cp.add(new JScrollPane(table), BorderLayout.CENTER);
}
} catch (Exception e){
System.err.println(e);
}
}
public static void main(String[] args){
Tabelle frame = new Tabelle();
frame.setLocation(100,100);
frame.setVisible(true);
}
}