ich möchte per Makro Datensätze in eine MySQL-Datenbank schreiben, so wie es im LibreOffice 4.2 Base-Handbuch auf Seite 329 beschrieben steht. Das Programm sieht folgendermaßen aus:
Code: Alles auswählen
REM in Datenbank schreiben
Sub datawrite
DIM oDatabaseContext AS OBJECT
DIM oDatasource AS OBJECT
DIM oConnection AS OBJECT
DIM oSQL_Statement AS OBJECT
DIM stSql AS STRING
DIM iResult AS INTEGER
oDatabaseContext =createUnoService("com.sun.star.sdb.DatabaseContext")
oDatasource =oDatabaseContext.getByName("gta")
oConnection =oDatasource.GetConnection("","")
stSql = "INSERT INTO `gta`.`palettenzettel` " _
& "(`lfdnr`, `scancode`, `palettennr`, `artikelnr`, `menge`, `zeit`, `datum`)" _
& " VALUES " _
& "(lfdnr = NULL, scancode = ?, palettennr = ?, artikelnr = ?, menge = ?, zeit = ?, datum = ?)"
REM Das Feld "lfdnr" ist in der Datenbank "auto_increment" definiert
oSQL_Statement= oConnection.prepareStatement(stSql)
oSQL_Statement.setString(1, lfdnr)
oSQL_Statement.setInt(2, scancode)
oSQL_Statement.setInt(3, palettennr)
oSQL_Statement.setInt(4, artikelnr)
oSQL_Statement.setInt(5, menge)
oSQL_Statement.setTime(6, zeit)
oSQL_Statement.setDate(7, datum)
iResult = oSQL_Statement.executeUpdate
End Sub
Code: Alles auswählen
oSQL_Statement.setTime(6, zeit)
Ich verstehe nicht, warum das so ist. Ich habe mich genau an die Vorgaben gehalten.
Könnte mir bitte jemand einen Tipp geben, was ich falsch mache?
Danke und servus
Peter