# Problem mit Zeichenketten



## MalakEkan (6. Mrz 2007)

Hallo

dies ist mein erster Post und ich hoffe ihr versteht mein Problem.

Also ich führe ein Update vor. Dieses Update sieht so aus



```
stmt.executeUpdate("UPDATE User SET Kostenstelle = '"+sKostenstelle+"' WHERE dn ='"+ tNeuUser.getModel().getValueAt(i,0).toString()+"';");
```

In der Access Daten liegen die Daten für die Spalte dn mit Buchstaben, Zahlen und Sonderzeichen wie \ / ... vor. 
Wenn ich aber dieses Update durchführe so setzt er in dem String ein Escapezeichen rein. 
Das Problem ist aber dann das die Datenbank davon ausgeht das dies ein normaler Text ist und kein Text mit Escapezeichen. Also kann er keinen Update durchführen weil die WHERE Klausel nicht erfüllt wurde. 

Wie löse ich nun das Problem?


----------



## SlaterB (6. Mrz 2007)

zuerst mal machst du
String update = ...;
System.out.println(update); <------- was kommt da raus??
stmt.executeUpdate(update);

und sagst nochmal was für ein Problem denn im SQL vorhanden ist,
da interessiert Java überhaupt nicht,
eher noch was genau in der DB steht (Beispiel!)

wenn das geklärt ist, kann man überlegen was Java an Formiertung damit zu tun hat,
aber dein bisherige Code sagt ja weniger als nichts aus 

außerdem würde ich das ganze mit  einem 
SELECT .. WHERE ..
testen,
nicht mit einem UPDATE..


----------



## MalakEkan (6. Mrz 2007)

Danke. Ich habs jetzt so gemacht wie du gesagt hast. Hab den Query in einen String geschrieben und dann ausgeführt. Und jetzt klappts. Warum auch immer *schulterzuck*

Danke


----------

