# PostgreSQL SELECT/UPDATE etc.



## stetabar (17. Aug 2007)

Hallo Zusammen,

hab noch ein Problem.

Die Syntax von PostgreSQL ist mir mittlerweile klar und die Verbindung steht auch, aber ich habe ein Problem, den String richtig umzusetzen.

Er müsset ungefähr so aussehen:



> INSERT INTO table1 ( id , tstamp , username , "password" , email) VALUES (49, 1187286673, 'user', 'passwort','email@test.de')



wenn ich nun einen String erzeugen will, habe ich das Problem, wie ich die *"* erzeuge...


```
sqlstatement = ("INSERT INTO table1 ( id , tstamp , username , password , email) VALUES (" + id + ", " + tstamp + ", '" + username + "', '" + password + "', '" + email + "')");
```

Wenn ich um password *'* setze, dann kann postgre das nicht ab...
wie kann ich das lösen?

danke für eure hilfe!


----------



## SlaterB (17. Aug 2007)

wenn deine Datenbank-Verbindung noch nicht steht, du noch an den ersten Test-Statements arbeitest,
warum gebrauchst du dann Variablen z.B. für das Passwort?,
wahrscheinlich noch verbunden mit einer GUI was?

mit solchem Overhead funktioniert programmieren nicht,

teste also idealerweise mit SQL
INSERT INTO testTable1 (testColumn1) VALUES ( "test");

in Java

```
sqlstatement = "INSERT INTO testTable1 (testColumn1) VALUES ( \"test\");";
oder
sqlstatement = "INSERT INTO testTable1 (testColumn1) VALUES ( 'test');";
```


----------



## Timmah (17. Aug 2007)

> INSERT INTO table1 ( id , tstamp , username , "password" , email) VALUES (49, 1187286673, 'user', 'passwort','email@test.de')



Die Syntax ist doch falsch.
Die Spalte muss password und nicht nicht "password" heißen. Die Anführungszeichen musst du bei den Werten und nicht den Spalten setzen, wenn diese alphanumerisch sind.


----------



## MarcoBehnke (17. Aug 2007)

so ich mich erinnere könnte password ein keyword sein, deswegen müssen auch Spalten escaped werden, das passiert in Postgres mit "spalte"

Damit Du in einem String " benutzen kannst, musst Du es escapen. Also:

```
sqlstatement = ("INSERT INTO table1 ( id , tstamp , username , \"password\" , email) VALUES (" + id + ", " + tstamp + ", '" + username + "', '" + password + "', '" + email + "')");
```


----------



## SlaterB (17. Aug 2007)

simmt, in der Frage ging es ja wirklich um die password-Spalte,
ganz schön versteckt


----------

