# bestimmte Zeile mit bestimmter Spalte auslesen



## Webmaster Pazi (19. Dez 2009)

Hallo Benutzer!

Wieder einmal habe ich eine Frage an euch.

Ich weiß jetzt nicht genau wie ich das machen soll:

Ich will jetzt mit einem WHERE eine bestimme Zeile in der Datenbank suchen bsp.: SELECT * FROM usertabelle WHERE username = 'bestimmeruser'

damit habe ich erstmal die eine Zeile gefunden!

Nun will ich aber von der gefundenen Zeile eine Spalte auslesen also z.b. die ID von dem user bestimmteruser

wie funktioniert das?

Habe das schon mit rs.getString(1); versucht, dabei kommt aber ein Fehler!

Freue mich auf eure Antworten & Danke!


----------



## X3TitanCore (19. Dez 2009)

Poste doch mal den Code. Wenn das Feld an Stelle 1 die ID ist würde ich es mal mit rs.getInt(1) versuchen, sonst gibt es einen Fehler.


----------



## Webmaster Pazi (19. Dez 2009)

Hallo!

Der Code:


```
ResultSet rs = stmt.executeQuery("SELECT * FROM chat.userdata WHERE username = 'usertest'");
System.out.println("Datenbankuserid: " + rs.getString(1));
```
Und ja Nummer 1 ist die ID.

Die Fehlermeldung:


```
java.sql.SQLException
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
        at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:815)
        at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5528)
        at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5448)
        at chat.Main.main(Main.java:40)
Java Result: 1
```


----------



## X3TitanCore (19. Dez 2009)

So müßte es gehen. Du mußt erst den Zeiger auf den Datensatz setzten mit rs.next().


```
while (rs.next()) {
    System.out.println("Datenbankuserid: " + rs.getString(1));
}
```

Gruß


----------



## Webmaster Pazi (19. Dez 2009)

Gut danke!

Hätte da noch eine kleine Frage 

Wie kann ich jetzt überprüfen ob es beispielweise den Benutzer schon gibt?


----------



## X3TitanCore (19. Dez 2009)

So zum Beispiel.


```
if (result.first() == true) {
 // User vorhanden
}
```

result.first() gibt true zurück wenn mindestens ein Datensatz vorhanden ist.


----------



## Webmaster Pazi (19. Dez 2009)

Hallo,

Die Funktion gibt bei mir folgenden fehler aus:


```
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
  symbol:   variable result
  location: class chat.Main
        at chat.Main.main(Main.java:40)
Java Result: 1
```


----------



## X3TitanCore (19. Dez 2009)

Sorry haste bei dir result durch rs ersetzt. Hatte ich falsch geschrieben.


----------



## Webmaster Pazi (19. Dez 2009)

ja habe ich. jedoch findet java dann die funktion first nicht mehr!

Edit: Du hast die klammern: () vergessen


----------



## X3TitanCore (19. Dez 2009)

Kannste mal den Code posten.
first() gehört zu java.sql.ResultSet;


----------



## X3TitanCore (19. Dez 2009)

Yo, die hintere fehlt. Na dann geht es ja jetzt.


----------



## Webmaster Pazi (19. Dez 2009)

ja genau!

Die klammern fehlten 

Naja jedenfalls danke für die schnelle hilfe!


----------

