habe ein Problem beim Updaten eines Cursors nach dem append. Es steht in der Fehlermeldung ein Feld welches überhaupt nicht betroffen ist.
SQLState: 42000, ErrorCode:1064
[MySQL][ODBC 3.51 Driver][mysqld-5.1.73]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT LAST_INSERT_ID()' at line 1
Thread ID 1
Called from SQLSTATEMENT:EXECUTE(522)
Called from SQLSELECT:EXECUTE(1703)
Called from SQLSELECT:UPDATEROW(2100)
Called from MAIN(38)
SQLString: insert into statistik1(`_syncts`) values ( NULL); SELECT LAST_INSERT_ID()
Mein Code:
Code: Alles auswählen
oCursor := oConn:Cursor("SELECT * FROM statistik1")
oCursor:Execute()
if !(oCursor:UsePositionDelete .and. oCursor:UsePositionUpdate)
oCursor:SetPrimaryKey("_SYNCID") // numeric, autoincrement,
endif
oCursor:append()
oCursor:updaterow()
Das Feld _syncts ist ein normales char(11) Feld ohne Extras, kann also auch NULL sein. Primarykey Feld _SYNCID ist PK NN AI, kann also auch nicht Schuld sein.
Wenn ich das SQL Statement aber in der MySQLWorkbench eingebe und ausführe, funktioniert es einwandfrei. Der Syntax ist also ok.
Hat jemand eine Idee ?
Grüße
Rudolf