# ResultSet: String mit Anführungszeichen einlesen



## Guest (12. Dez 2008)

In einer DB-Zelle steht ein String, der Anführungszeichen und die Zeichen "<>%" enthalten *kann*.

Wenn ich den Inhalt mit

```
String str=ResultSet.getString(<spaltennr.>);
```

speichern will, erhalte ich einen Stringfehler ("Unknown source"). Wie kann ich solch einen String speichern?


----------



## foobar (12. Dez 2008)

Zeig mal bitte die Exception. Was in der Spalte drin steht sollte keine Rolle spielen.


----------



## Guest (12. Dez 2008)

```
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at java.lang.StringBuilder.<init>(Unknown Source)
	at Main.processParams(Main.java:697)
```


----------



## Guest (12. Dez 2008)

Ergänzung:
Übrigens passiert der Fehler nur hier. Alles übrige Auslesen von Ints, Strings usw. des ResultSets funktioniert einwandfrei.


----------



## SlaterB (12. Dez 2008)

der String ist null, weil die Spalte nix enthält,
kannst du mit anderen DB-Anfragen testen wie z.B.

select id from table where spalte is null

usw.

null in StringBulider -> nicht erlaubt


----------



## Ebenius (12. Dez 2008)

EDIT: Da hab ich mich verlesen, dachte es geht um was anderes. Ebenius


----------



## Guest (12. Dez 2008)

Ich glaub, ich hab den Fehler gefunden.


```
String str=ResultSet.getString(<spaltennr.>);
```

funktioniert einwandfrei, wie ich in einer Testausgabe gesehen habe. Nur wird str an die Methode String processParams(final String str) übergeben, die ihn weiter bearbeiten soll, und hier knallt es, wie man in der Fehlermeldung sieht.

Am Beispiel sieht man das nicht gleich, weil bei mir im Code eigentlich steht:


```
String str=processParams(ResultSet.getString(7));
```

Mein Beispiel hatte ich verkürzt, weil ich dachte, der Fehler läge beim ResultSet-Zugriff.

Das Problem ist somit nur verlagert.


----------



## Guest (12. Dez 2008)

Ergänzung:

An processParams wird im neuen Beispiel nur ein Null-String übergeben.


----------



## FenchelT (12. Dez 2008)

Was passiert denn in Deiner Methode proccessParam?

Hast Du mal ein wenig Code?
wenn Du versuchst einen String zu bearbeiten der keine Daten aus dem ResultSet bekommt, tritt u.U. ein Fehler auf.
Aber wie slater ja auch schon sagte, ob Du Daten bekommst oder nicht, kannst Du mit einem einfachen SQL auf die DB testen.


----------

