IF SQLSETPROP(lnConnection,[Transactions],2) != 1 * set two flags on ODBC Client, * 1° is the implicit status, 2° is a "implicit must to be send" * ( no packets is send ) return someError ENDIF BEGIN TRANSACTION && also start transaction on local Cursoradapter's so they could be && rolled back if neccessary * first SQLEXEC() executed send the status to the backend server * but a SQLPREPARE() not send the status ! .. make some updates .. && and if all updates/inserts returned .T. && try to commit them IF SQLCOMMIT(lnConnection) = 1 END TRANSACTION && also commit local changes ELSE SQLROLLBACK(lnConnection) && <==== but if this return a error, what do you do ? Panic ? ROLLBACK ENDIF && and finally change the transactionmode to automatic again .. SQLSETPROP(lnConnection,[Transactions],1)Fabio