# \'\"+Variable+'\"\



## Gast (15. Mai 2004)

Hallo

Kann man eine Variable so in eine Datenbank schreiben 

String Variable = name.getText();
String Alter = alter.getText();
String Geschlecht = geschlecht.getText();

sqlQuery = "INSERT INTO Datenbank VALUES (\'\"+Variable+'\"\ , \'\"+Alter+'\"\ , \'\"+Geschlecht+'\"\) WHERE Name LIKE 'Michael'";";

String url = "jdbcdbcatenbank";
Connection con = null;
Statement stmt;

con = DriverManager.getConnection( url,"User","Password" );
stmt = con.createStatement();
stmt.executeQuery( sqlQuery );

Die Werte sind mir dabei egal, ich möchte nur wissen wie man diese \ bei Variablen richtig setzt

lg Fridolin


----------



## P3AC3MAK3R (15. Mai 2004)

Vermutlich ist es schlauer mit prepared Statements zu arbeiten...


----------



## Gast (15. Mai 2004)

Bitte antworten!


----------



## Gast (15. Mai 2004)

Und wie soll ich dann meine Variablen übergeben, meinst du in ein Array schreiben 
und dann mit einer Schleife einsetzen und preparedstatements ausführen? :shock:


----------



## L-ectron-X (15. Mai 2004)

In eine Datenbank kann man so weit ich weiß nicht mit der executeQuery()-Methode schreiben, diese dient zu Datenbankabfrage.
Zum Einfügen von Daten in eine Datenbank benutzt Du die executeUpdate()-Methode
Versuche mal bitte folgendes Beispiel. Notfalls anpassen.

```
String updateString = "INSERT INTO Datenbank (Name, Alter, Geschlecht, Adresse, Ort, Tel) VALUES ('Michael', 25, 'm', 'Musterstraße 1', 'Musterstadt', '0123/456789');
stmt.executeUpdate(updateString);
```

PS: Immer schön ruhig bleiben, sachlich fragen, sonst hilft Dir hier bald keiner mehr.


----------



## Gast (16. Mai 2004)

Ich habs aber schon einmal mit executeQuery geschafft weil ich bin sehr lernfaul und 
lerne schwer neue Dinge außerdem hab ich dazwischen einmal meinen pc neu aufsetzen müssen
und dabei sind daten verloren gegangen :bahnhof:


----------



## Gast (16. Mai 2004)

Ich hab den selben Fehler wie vorher sag mir halt wie das mit Werten in einer Abfrage geht
ich habs ja so schon einmal gehabt und ich finds auch wieder nur mit deiner Hilfe gehts schneller!

Syntaxfehler in Zeichenfolge in Abfrageausdruck '' "+Integer.parseInt(position)+' " WHERE ID = 1;'.

position ist ein String aus einer Tabelle der in einer Schleife befüllt und in die Datenbank
zurückgeschrieben werden sollte ---> nächste Zeile, für jede Spalte gibts einen eigenen
String wie 

position = ( String )( model.getValueAt(int row, int column) );


----------



## Mr. Floppy (17. Mai 2004)

variablen können nicht in eine datenbank geschrieben werden, du meinst sicherlich eine tabelle innerhalb der datenbank.

erst tabelle anlegen mit CREATE TABLE...... und dann daten einfügen mit:


```
befehl.executeUpdate("INSERT INTO <tabelle> (<spaltenname1>,<spaltenname2>,...) VALUES                                
('"+variable+"','"+variable+"',....);");
```

so werden daten in eine tablle gefügt (die tabelle muss natürlich da sein)
bei dir ist bur der escape-character falsch bzw. zuviel. " ' "+variable+" ' " reicht.

siehe dazu: http://www.mysql.de/doc/de/Reference.html


----------

