Hallo,
ich arbeite seit ein paar Wochen mit Access-Datenbanken unter Java.
Ich habe bis jetzt immer fertig erstellte DBs manipuliert und habe nun mal meine eigene kleine Datenbank erstellt mit welcher ich gerne arbeiten möchte.
Das Problem ist nur, das ich mich zu DB connecten kann, mir aber beim einfügen eines Datensatzes gesagt wird, dass diese Ausgabetabelle nicht gefunden wird. Wie kann dies sein ?
Ich werde zur Hilfe noch einige Auszüge posten:
Protokoll-Datei
Datenbankaufbau
Als Programmsegemente dürfte dies die interessanteste Stelle sein
Ich habe mir deb Query mal ausgeben gelassen, der sieht meiner Meinung nach in Ordnung aus:
Vielen Dank für eure zahlreichen Beiträge im Vorraus
Gruß
Brasi
ich arbeite seit ein paar Wochen mit Access-Datenbanken unter Java.
Ich habe bis jetzt immer fertig erstellte DBs manipuliert und habe nun mal meine eigene kleine Datenbank erstellt mit welcher ich gerne arbeiten möchte.
Das Problem ist nur, das ich mich zu DB connecten kann, mir aber beim einfügen eines Datensatzes gesagt wird, dass diese Ausgabetabelle nicht gefunden wird. Wie kann dies sein ?
Ich werde zur Hilfe noch einige Auszüge posten:
Protokoll-Datei
25.06.2005 11:03:42 DB.DB einfuegen
ALLE: Problem beim Einfügen/ Ändern
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Ausgabetabelle 'LehrerDB' nicht gefunden.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
at DB.DB.einfuegen(DB.java:185)
at Gui.Gui_Lehrer.speichere_Lehrer(Gui_Lehrer.java:1069)
at Gui.Gui_Lehrer.actionPerformed(Gui_Lehrer.java:951)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(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)
Datenbankaufbau
![url]](/proxy.php?image=http%3A%2F%2F%5Burl%5Dhttp%3A%2F%2Fmitglied.lycos.de%2Fistbrasilian%2FDB.jpg%5B%2Furl%5D&hash=27b097fd1f7c6ac3b07e4e07aed3569d)
Als Programmsegemente dürfte dies die interessanteste Stelle sein
Code:
//Der Lehrer wird in der DB geschrieben
this.speichere_Lehrer(neuerLehrer);
....
//Der Lehrer wird in der DB geschrieben
private void speichere_Lehrer(Lehrer lehrer)
{
/* Reihenfolge der SQL-Spalten:
* Vorname, Nachname, Unterstufe, Mittelstufe, Oberstufe,
* PrimärRaum, SekundärRaum, Fächer, MinStunden, MaxStunden
*/
//Der Name muss getrennt werden, es gibt min. zwei Tokens
StringTokenizer zerhacken = new StringTokenizer(lehrer.getName()," ");
String query = "INSERT INTO LehrerDB VALUES "
+ "('" + zerhacken.nextToken() + "', '"
+ zerhacken.nextToken() + "', '"
+ lehrer.isUnterstufe() + "', '"
+ lehrer.isMittelstufe() + "', '"
+ lehrer.isOberstufe() + "', '"
+ lehrer.getPrimärRaum() + "', '"
+ lehrer.getErsatzRaum() + "', '"
+ lehrer.getUnterichtsfach().toString() + "', '"
+ lehrer.getMinStunden() + "', '"
+ lehrer.getMinStunden() + "')";
System.out.println(query);
int zeilen = db.einfuegen(query);
System.out.println("Eingefügte Zeilen: " + zeilen);
....
public int einfuegen(String query)
{
int zeilen = -1;
try
{
Statement stmt = con.createStatement();
zeilen = stmt.executeUpdate(query);
}
catch(SQLException e)
{
log.setLevel(Level.ALL);
log.log(Level.ALL, "Problem beim Einfügen/ Ändern", e);
}
return zeilen;
}
Ich habe mir deb Query mal ausgeben gelassen, der sieht meiner Meinung nach in Ordnung aus:
INSERT INTO LehrerDB VALUES ('AchtUHR', 'Pietter', 'false', 'false', 'true', '228 IVZ', '113 MTA', '[]', '10', '10')
Vielen Dank für eure zahlreichen Beiträge im Vorraus
Gruß
Brasi