SQL Syntax Fehler

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: SQL Syntax Fehler

Re: SQL Syntax Fehler

von DPunch » Fr, 21.05.2010 17:11

Aloha

Versuch mal folgendes:

Code: Alles auswählen

sSQL = "UPDATE tabelle1 SET `Anzahl im Lager` = `Anzahl im Lager` - `Entnahmemenge`"
Zwischen dem "SET" und der Zielspalte *muss* ein Leerzeichen sein.
Ausserdem darf die "SET"-Anweisung nicht geklammert sein.
Ob MySQL die eckigen Klammern versteht, weiss ich ehrlich gesagt nicht - ich kenne nur die Hochkomma-Syntax.

SQL Syntax Fehler

von Urs O. » Fr, 21.05.2010 11:45

Bei meinem Problem handelt es sich um folgendes Makro:

DIM oResult As Object

sub sql_entnahme

dim mDBProperties(2) as New com.sun.star.beans.PropertyValue

mDBProperties(0).name = "user"
mDBProperties(0).value = "*******"
mDBProperties(1).Name = "password"
mDBProperties(1).value = "*******"
mDBProperties(2).Name = "JavaDriverClass"
mDBProperties(2).value = "com.mysql.jdbc.Driver"

oDriverManager = createUnoService("com.sun.star.sdbc.DriverManager")
oVerbindung = oDriverManager.getConnectionWithInfo("sdbc:mysql:jdbc:***.**.***.***:3306/******", mDBProperties())
oStatement = oVerbindung.CreateStatement()

sSQL = "UPDATE tabelle1 SET([Anzahl im Lager] = [Anzahl im Lager] - Entnahmemenge);" <-- Problemzeile 1
oStatement.executeUpdate(sSQL) <-- Problemzeile 2


oVerbindung.close()

end sub

Bei der Verbindungserstellung gibt es keine Fehlermeldung sondern bei dem SQL Kommando.
Ich habe eine Tabelle in der es mehrer Spalten gibt. Die interessanten Spalten sind dabei "Anzahl im Lager" und "Entnahmemenge". Durch Ausführung des Makros möchte ich von der Spalte Anzahl im Lager die korresponierenden Werte aus der Spalte Entnahmemenge abziehen. Beide sind als mediumint definiert.
Danach sollen die Werte der Spalte Entnahmemenge auf 0 zurückgesetzt werden. Könnte mir jemand helfen um die Problemzeilen 1 und 2 anzupassen?

Vielen Dank schon einmal im Vorraus!

Nach oben