I have the following code that read a table, which has some field added, which need to be changed on the first run.
[code] dim sql as String = “Select * FROM service”
// run the query
dim rs as RecordSet = gDB.SQLSelect(sql)
if gDB.error then — whatever
while rs <> nil and rs.eof <> true
‘’ ******* fix cost ***** This should only update records once
if db = 0 then
if val(rs.field("ST_cost").StringValue) <> 0 then
rs.edit
if gDB.error then --- whatever
rs.field("ST_cost_parts").StringValue = rs.field("ST_cost").StringValue
rs.Update//check for error
if gDB.error then --- whatever
// Commit changes to the database
gDB.Commit//check for error
if gDB.Error then
MsgBox "Error Commit service list: "+gdb.ErrorMessage [/code]
I get SQLite error" cannot commit - no transaction is active"
this ran ok on RealSQL
If I add "Select rowid, * FROM service"
result are the same, error.
if I add gDB.sqlExecute "begin transaction"//check for error
just before the rs.edit I do NOT get the error.
NOTE NOTE: In all cases the update WORKED! The database was updated with the change.
My question: Do I need the “commit” statement. My understanding was that for the edit/update needed it to actually do the update.