SQL und Java Syntax.

#2425687
Lesenswert?

Hi

und zwar versuche ich gerade mit com.mysql.jdbc.Driver was in meine 
Datenbank zu schreiben.

Problem ist, er meckert mir die ganze Zeit die Gänsefüsschen an, und ich 
weiß nicht wirklich den Syntax. Wie funktioniert das denn?

String sql = "INSERT INTO test(vara, varb) VALUES ("hallo","hallo")";

Danke
#2425718
Lesenswert?

Peter II schrieb:
> verwende bitte gleiche Prepared  sql, sonst handelst du dir nur
> Probeleme ein. Ich weiss zwar nicht wie es mit java geht, aber das
> sollte sich finden lassen.
>
> SQlPrepeare("INSERT INTO test(vara, varb) VALUES (?,?)");
> SetParameter(1, "test1");
> SetParameter(2, "test2");
> SQLExec();

PreparedStatement heisst die Klasse in java
Persönliche Seite #2425873
Lesenswert?

Echte Vorteile haben PreparedStatements aus technischer Sicht erst wenn 
die Abfrage mehrfach ausgeführt wird.

Praktisch ist es aber so, das in fast allen Fällen der Overhead welcher 
entsteht, auch wenn die Abfrage nur einmal ausgeführt wird, 
vernachlässigbar ist und die sonstigen Vorteile wie verhindern von 
Injections und übersichtlicherer Code und vorallem keine Gedanken machen 
wie Datentypen repräsentiert werden (das macht der JDBC Treiber) 
überwiegen.
1
PreparedStatement stm = con.prepareStatement("INSERT INTO test(vara, varb) VALUES (?, ?)");
2
stm.setString(1, "test1");
3
stm.setString(2, "test2");
4
stm.executeUpdate();
http://download.oracle.com/javase/1.4.2/docs/api/java/sql/Connection.html#prepareStatement%28java.lang.String%29
http://download.oracle.com/javase/1.4.2/docs/api/java/sql/PreparedStatement.html

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren