# HSQLDB Datenbank Eintrag



## Emrys-Merlin (23. Apr 2007)

Hey,

Ich hab grad frisch angefangen mit Datenbank Programmierung und wollte mir jetzt gern ein Programm zum Vokabeln lernen schreiben, aber immer wenn ich die Vokabeln eintragen möchte, kommt folgende Fehlermeldung:

java.sql.SQLException: Table not found: VOKABELN in statement [INSERT INTO VOKABELN(id, Stranger, German, UArtikel, BArtikel, Asked) VALUES('-', 'lavoro','Arbeit','un','il','0')]
	at org.hsqldb.Trace.getError(Unknown Source)
	at org.hsqldb.jdbcResultSet.<init>(Unknown Source)
	at org.hsqldb.jdbcConnection.executeStandalone(Unknown Source)
	at org.hsqldb.jdbcConnection.execute(Unknown Source)
	at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
	at org.hsqldb.jdbcStatement.executeUpdate(Unknown Source)
	at net.adler.tim.vokabel.lib.Database.update(Database.java:63)
	at net.adler.tim.vokabel.test.DatabaseTest.main(DatabaseTest.java:71)

Ich hab wirklich keine Ahnung, was ich damit anfangen soll, könnte mir bitte jemand helfen? Vielen Dank schon mal 
Merlin


----------



## Leroy42 (23. Apr 2007)

Naja, einfach die Fehlermeldung lesen.

Scheinbar gibt es in deiner Datenbank keine Tabelle namens "VOKABELN"


----------



## Emrys-Merlin (23. Apr 2007)

Doch eigentlich schon....

sollte sie zumindest.


----------



## Emrys-Merlin (23. Apr 2007)

```
try {

	      database.executeQuery("DROP TABLE VOKABELN"); // Tabelle loeschen

	      // Erzeugen einer leeren Testtabelle:
	      database.executeQuery(
	          "CREATE TABLE VOKABELN (" + 
	          "id INTEGER IDENTITY," +
	          "Stranger VARCHAR(256)," + 
	          "UArtikel VARCHAR(256)," + 
	          "BArtikel VARCHAR(256)," + 
	          "Asked INT(256),"); 
	      }
	    catch (SQLException ex) { //ex.printStackTrace();
	      System.out.println("Testtreiber [main]: Datenbank schon angelegt");
	      
	    }
```

des is der Codeteil der eigentlich die Tabelle erzeugen sollte


----------



## Leroy42 (23. Apr 2007)

Du mußt update statt query nehmen, weil die Erzeugung
einer Tabelle* eben keine* Abfrage ist.


----------



## Emrys-Merlin (23. Apr 2007)

Ok, hab ich geändert, aber die Fehlermeldung ist leider immer noch die Selbe. Falls du noch andere Infos oder so brauchst: Ich hab das ganze in Eclipse gemacht und mein Betriebssystem is WinXP.


----------



## AlArenal (23. Apr 2007)

Ist das Ding im Auto-Commit-Mode?


----------



## Emrys-Merlin (23. Apr 2007)

Sorry, das weiß ich nicht. Ich kenn mich da wirklich (noch) nicht mit aus. Wie finde ich denn raus ob es in diesem Mode ist?


----------



## kleiner_held (23. Apr 2007)

Das *catch* in deinem code ist sehr seltsam. Du faengst einen Fehler ab und gibst aus "Datenbank schon angelegt". :noe: 

Nimm mal das 
	
	
	
	





```
ex.printStackTrace();
```
 wieder rein, denn mir scheint auch dein *CREATE TABLE* noch Fehler zu enthalten (Komma statt Klammer am Ende).


----------



## Emrys-Merlin (23. Apr 2007)

ok, das hat aufjedenfall schonmal was gebracht: Es wird noch eine zweite Fehlermeldung ausgegeben  

java.sql.SQLException: Table not found: VOKABELN in statement [DROP TABLE VOKABELN]
	at org.hsqldb.Trace.getError(Unknown Source)
	at org.hsqldb.jdbcResultSet.<init>(Unknown Source)
	at org.hsqldb.jdbcConnection.executeStandalone(Unknown Source)
	at org.hsqldb.jdbcConnection.execute(Unknown Source)
	at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
	at org.hsqldb.jdbcStatement.executeQuery(Unknown Source)
	at net.adler.tim.vokabel.lib.Database.executeQuery(Database.java:45)
	at net.adler.tim.vokabel.test.DatabaseTest.main(DatabaseTest.java:48)
java.sql.SQLException: Table not found: VOKABELN in statement [INSERT INTO VOKABELN(id, Stranger, German, UArtikel, BArtikel, Asked) VALUES('-', 'lavoro','Arbeit','un','il','0')]
	at org.hsqldb.Trace.getError(Unknown Source)
	at org.hsqldb.jdbcResultSet.<init>(Unknown Source)
	at org.hsqldb.jdbcConnection.executeStandalone(Unknown Source)
	at org.hsqldb.jdbcConnection.execute(Unknown Source)
	at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
	at org.hsqldb.jdbcStatement.executeUpdate(Unknown Source)
	at net.adler.tim.vokabel.lib.Database.update(Database.java:63)
	at net.adler.tim.vokabel.test.DatabaseTest.main(DatabaseTest.java:71)

P.S.: das mit dem Datenbank schon angelegt is aus dem Beispielprogramm aus dem ich mir son bisschen meinen Code zusammengesucht habe. Wie gesagt ich bin ein blutiger Anfänger was das angeht.[/code]


----------



## AlArenal (23. Apr 2007)

Na wenn du die Tabelle erst löscht und dann versuchst reinzuschrieben, kann das auch nicht funktionieren......


----------



## Emrys-Merlin (23. Apr 2007)

Vielen Dank für eure Tipps! Das meiste waren wirklich irgendwelche Tippfehler, etc. aufjedenfall hab ich's jetzt hingekriegt. Naja, dass is halt das Proplem, wenn man noch nicht wirklich weiß, was man macht^^

Gruß
Merlin


----------

