# HSQLSB SELECT



## DonJure (2. Jun 2004)

Hab probleme mit SELECT

erstmal hier das was in der PanhuisDataBase.script (die datei, die von HSQLDB angelegt wird) drin steht

CREATE TABLE KUNDENDATEN(CDNR INTEGER,CDARTIST CHAR(20),CDTITLE CHAR(20))
CREATE USER SA PASSWORD "" ADMIN
INSERT INTO KUNDENDATEN VALUES(1,'Groeni','Mensch')
INSERT INTO KUNDENDATEN VALUES(2,'Sting','Fields of Gold')
INSERT INTO KUNDENDATEN VALUES(3,'Bach','Pluratorium')
INSERT INTO KUNDENDATEN VALUES(1,'Blabla','Hugo')
INSERT INTO KUNDENDATEN VALUES(1,'Blabla','Hugo')
INSERT INTO KUNDENDATEN VALUES(1,'Blabla','Hugo')
INSERT INTO KUNDENDATEN VALUES(1,'Blabla','Hugo')
INSERT INTO KUNDENDATEN VALUES(1,'Blabla','Hugo')

 try { Class.forName("org.hsqldb.jdbcDriver"); }
        catch(ClassNotFoundException cnfe) {
            System.out.println("Treiber kann nicht geladen werden: "+cnfe.getMessage()); }
        // -- Connection Erstellen
        try { conn = DriverManager.getConnection("jdbc:hsqldb:c:/Temp/PanhuisDataBase","SA",""); 
        Statement stmt = conn.createStatement();
        //sqlQuery = "CREATE TABLE KundenDaten (nr INTEGER, nname CHAR(20), vname CHAR(20));";
        //stmt.executeQuery(sqlQuery);
        sqlQuery = "SELECT nr FROM KundenDaten";
        rs = stmt.executeQuery(sqlQuery);
        more = rs.next();

          if(!more){
        System.out.println("No rows found."); 
                      return;

        }
        while (more) {
                   System.out.println(rs.getInt("nr"));

                  more = rs.next();
                  }

        }

        catch(SQLException sqle){
            System.out.println("Verbindung ist fehlgeschlagen: " + sqle.getMessage()); }





        // Abchließen! Datenbank closen...
        if (conn != null) {
            try { conn.close(); }
            catch(SQLException sqle) { System.out.println(sqle.getMessage()); }
        }

jetzt kriege ich immer diese fehlermeldung

writeScript
Verbindung ist fehlgeschlagen: Column not found: NR in statement [SELECT nr FROM KundenDaten]


----------



## nollario (2. Jun 2004)

bist du sicher, dass die tabelle KundenDaten existiert mit der Spalte nr?

Groß- und Kleinschreibung solltest Du auch beachten.... Hm. Sonst seh ich da erst auch mal kein Problem. Vielleicht mal


```
select * from ...
```

probieren....


----------



## DonJure (2. Jun 2004)

Hmm

klappt leider auch nicht..

habe jetzt 

"select * from und select nr from" 

ausprobiert. 

noch ne idee?

die tabelle ist auf jeden fall da.
sonst würde ich ja da einen fehler bekommen.
wenn ich das ganze mit * mache bekomme einen fast gleichen fehler


----------



## nollario (2. Jun 2004)

DonJure hat gesagt.:
			
		

> wenn ich das ganze mit * mache bekomme einen fast gleichen fehler



fast gleicher fehler? wenn mit select * from table auch ein fehler kommt, dann wäre die fehlermeldung ganz interessant


----------



## DonJure (2. Jun 2004)

oki habe gerade durch zufall einen fehler gefunden....

ich hatte das INSERT falls deklariert...

jetzt noch schnell eine andere frage ...

wie stell man auto_increment ein?


----------



## nollario (2. Jun 2004)

aus den hsql docs:



> CREATE [ MEMORY | CACHED | TEMP | TEXT ] TABLE name
> ( columnDefinition [, ...] [, constraintDefinition...]) ;
> 
> Creates a tables in the memory (default) or on disk and only cached in memory. *Identity columns are autoincrement columns.* They must be integer columns and are automatically primary key columns. The last inserted value into an identity column for a connection is available using the function IDENTITY(), for example (where Id is the identity column):
> ...



http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html


----------



## DonJure (2. Jun 2004)

so?

sqlQuery = "CREATE TABLE KundenDaten (id INTEGER(11) auto_increment, nname CHAR(20), vname CHAR(20));";

wollte es noch nicht ausprobieren, bevor nicht jmd sein auge drauf geworfen hat. sonst muss ich wieder löschen...


----------



## DonJure (2. Jun 2004)

k habs....

sqlQuery = "CREATE TABLE KundenDaten (id INTEGER IDENTITY PRIMARY KEY, nname CHAR(20), vname CHAR(20));";

Danke Chris für deine hilfe 

bist ja voll der Checka  hab dein Bild gesehen auf deiner HP!  :bae: 

Gruß Don


----------



## nollario (2. Jun 2004)

bidde bidde... man tut was man kann... kannst dich ja per guestbook eintrag revanchieren! ;-)


----------



## DonJure (2. Jun 2004)

Ist doch ehren Sache...


----------

