# Unklare SQL Exception



## Detlev41 (17. Okt 2003)

In folgendem Codeschnipsel erhalte ich die Fehlermeldung "Invalid Cursor state", unter der ich mir leider nichts vorstellen kann:

    try
    {
      String aSqlQuery = "SELECT * FROM user WHERE username = '"+theName+"';";
      myResult = myStatement.executeQuery(aSqlQuery);
      String aString = myResult.getString("username");
      ...
    }
    catch(SQLException se)
    {
      se.printStackTrace();
    }

Ohne die getString-Anweisung fliegt keine Exception.

Ich muss vorausschicken, dass ich in Sachen Datenbankanbindung meine ersten Versuche mache, in anderen Bereichen der Java-Programmierung aber schon etwas Erfahrung habe.

Java-Version: JDK 1.1.8
Datenbank: Access97

Für Hinweise wäre ich wirklich dankbar!


----------



## me.toString (20. Okt 2003)

Auf jeden Fall solltest du deinen getString()-Aufruf in eine while-Schleife packen ... woher weisst du denn, dass immer ein Name zurück kommt ? ... es kann ja ja auch mal keiner zurück kommen !!!

myResult = myStatement.executeQuery(aSqlQuery); 

while( myResult.next() ){
   String aString = myResult.getString("username"); 
}

Die getString-Methode wird nur aufgerufen, wenn im Resultset mindestens noch ein Ergebnis steht.

Michael

PS: glaubst du nicht, dass mal ein Update deines Javas dran wäre ... mittler weile ist SUN bei 1.4.2 angelangt !? Zum Testen ist die alte Version ja noch gut ... aber als Entwickler solltest du auf dem neuesten Stand sein  ( vielleicht sind ja schon viele Methoden, die du benutzt deprecated !?!? )


----------



## Stefan1200 (20. Okt 2003)

ehli75 hat gesagt.:
			
		

> PS: glaubst du nicht, dass mal ein Update deines Javas dran wäre ... mittler weile ist SUN bei 1.4.2 angelangt !? Zum Testen ist die alte Version ja noch gut ... aber als Entwickler solltest du auf dem neuesten Stand sein  ( vielleicht sind ja schon viele Methoden, die du benutzt deprecated !?!? )



Kommt darauf an, falls er unter MacOS 8-9 programmiert, hat er bereits die neuste Version drauf, da die neuste Version des Apple MRJ 2.2.5 lediglich die spezifikationen von Java 1.1.8 integriert hat.

Ansonsten sollte er wirklich mal auf 1.4.1_05 oder 1.4.2_01 updaten


----------



## Detlev41 (24. Okt 2003)

Danke, dass da doch noch etwas kam! Das Problem hat sich übrigens erledigt. Wenn man noch eine Kopie der Datenbank hat, sollte man schon darauf achten, mit welcher man gerade arbeitet *g*

Ich habe in meiner Entwicklungsumgebung übrigens durch aus auch JDK 1.4. Allerdings ist man bei Applets immer noch auf die alte Version angewiesen, damit diese auch in jedem Browser ohne zusätzliche Plugins funktionieren.
Die neue Version verwende ich also ausschließlich für Applikationen.

Detlev


----------

