ich habe eine eingebette HSQL-DB konvertiert nach MySQL und will sie weiter als Libredatenbank bearbeiten.
Inzwischen funktioniert fast alles:
- Bearbeitung über Formulare
- Lesen von Daten miitels Makros
Ich benutze hierzu mehrere Routinen zum Aufbau der Verbindung, holen der Altdaten und dann zum Update.
Es kommt keine Fehlermeldung. Beim Neuaufruf des Hauptformulares sind die Daten allerdings nicht verändert.
hier der Code und der generierte SQL-String:
Code: Alles auswählen
Sub verarbeite_Monat(oForm as Object)
DIM SQL_Anweisung AS OBJECT
DIM Abfrageergebnis AS OBJECT
DIM sql_str as string
DIM erg as Boolean
DIM monatalt as Integer
verbinde_DB
read_Defaults
'lese Datensatz aud Defaults und aktualisiere Monat
monatalt = monat
' Auslesen des neuen Monatzwertes und Dialog schließen
monat = Odialog1.getControl("MonatNeu").Value
Odialog1.endexecute()
'Update Defaults-Monat
sql_str = "Update " +CHR(34)+ "Defaults" +CHR(34) + " set " +CHR(34)+ "Selmon" +CHR(34) + " = '" + monat
sql_str = sql_str + "' " + " where " +CHR(34)+ "ID" +CHR(34) + " = '" + ID +"';"
SQL_Anweisung = Verbindung.createStatement()
SQL_Anweisung.executeQuery(Sql_str)
end sub
- Sql_str = "Update "Defaults" set "Selmon" = '6' where "ID" = '1';"
- Verbindung: Typ com.sun.star.drivers.OCConnectionWrapper
- SQL_Anweisung Typ com.sun.star.OStatement
Mit HSQLDB läuft das ganze. Ich benutze den selben Formalismus zum Lesen aus der DB, wo es auch klappt, so dass ich keine Ideen mehr habe.
Gruß und Danke für eine hilfreiche Antwort
Jürgen