SQL und Java Syntax.

OP #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
Gast #2425704
Lesenswert?

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();
#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
Gast #2666973
Lesenswert?

Hallo,
ich bin noch relativ unwissend in diesem Gebiet, könnte mir das eventuel 
mal jemand erklären? Ich bin außerdem noch etwas jünger, also wenn 
jemand Gedult dazu hat - wäre nett, wenn ihr euch mal melden könnt. Habe 
auch Skype: qwertzlezplay
Danke schonmal,
Stefan

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