Hi ihr,
also ich habe eine kleine tabelle (war ein codeschnipsel wo ich einigermaßen durchblicke... aber eben nur einigermaßen) die mir die daten aus einer Accessdb ausliest udn anzeigt.
nu würde ich aber gerne da auch was reinschreiben.... habe auch schon einige threads dazu hier gelesen, aber iwi komme ich mit verschiedenen möglichkeiten nicht weiter...
die fehlermeldung meint dies hier:
und so sieht mein code mit der betreffenden zeile aus:
also ich habe eine kleine tabelle (war ein codeschnipsel wo ich einigermaßen durchblicke... aber eben nur einigermaßen) die mir die daten aus einer Accessdb ausliest udn anzeigt.
nu würde ich aber gerne da auch was reinschreiben.... habe auch schon einige threads dazu hier gelesen, aber iwi komme ich mit verschiedenen möglichkeiten nicht weiter...
die fehlermeldung meint dies hier:
Code:
Connection Successful
java.sql.SQLException: ResultSet is closed
at sun.jdbc.odbc.JdbcOdbcResultSet.checkOpen(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.clearWarnings(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSetMetaData.getColAttributeString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSetMetaData.getColumnName(Unknown Source)
at test.test1.aktualisiereTabelle(test1.java:45)
at test.test1.<init>(test1.java:19)
at test.test1$1.run(test1.java:94)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
und so sieht mein code mit der betreffenden zeile aus:
Code:
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JTable;
public class test1 extends javax.swing.JFrame {
/** Creates new form Hauptfenster */
public test1() {
initComponents();
aktualisiereTabelle();
}
String Vorname = "blubb";
String Nachname = "heyho";
private void aktualisiereTabelle() {
Vector columnNames = new Vector();
Vector data = new Vector();
try{
//Abfrage definieren
String query = "SELECT * FROM adressen;";
//Datenbankverbindung herstellen
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/tutorial/kontakte.mdb","","" );
System.out.println("Connection Successful ");
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery(query);
ResultSetMetaData md = rst.getMetaData();
int columns = md.getColumnCount();
//Test
String whoot = "INSERT INTO adressen(Vorname, Nachname) values('" + Vorname + "', '" + Nachname + "')";
stmt.execute(whoot);
// Spaltennamen ermitteln
for (int i = 1; i <= columns; i++) {
String colname=md.getColumnName(i);
columnNames.addElement( colname );
}
// Zeileninhalt ermitteln
while (rst.next()) {
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++) {
row.addElement( rst.getObject(i) );
}
data.addElement( row );
}
rst.close();
stmt.close();
} catch(Exception e) {
e.printStackTrace();
}
// Tabelle erzeugen
JTable table = new JTable(data, columnNames);
scrollTabelle.setViewportView(table);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
scrollTabelle = new javax.swing.JScrollPane();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().add(scrollTabelle, java.awt.BorderLayout.CENTER);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-800)/2, (screenSize.height-200)/2, 800, 200);
}// </editor-fold>//GEN-END:initComponents
/**
* MAIN-Methode
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new test1().setVisible(true);
}
});
}
// Variablendeklaration
private javax.swing.JScrollPane scrollTabelle;
}