>?SQLDisconnect(0) >*** Set the transactions to default, just to be sure >?SQLSetProp(0,"Transactions",1) >*** Connecting, prompt for any DSN, or set your if you want it. >lnHandle = SQLConnect() >*** Getting @@tranCount before setting manual transactions >?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") >?"Expected value of TranCount=0, Actual TranCount=",cTrans.NumTran >?SQLSetProp(lnHandle,"Transactions",2) >*** Getting @@trancount after setting manual transactions >?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") >?"Expected value of TranCount=1, Actual TranCount=",cTrans.NumTran >*** Send an explicit transaction >?SQLExec(lnHandle,"BEGIN TRANSACTION") >*** Getting @@trancount after send explicit transaction >?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") >?"Expected value of TranCount=2, Actual TranCount=",cTrans.NumTran >>
>?SQLDisconnect(0) >*** Set the transactions to manual >?SQLSetProp(0,"Transactions",2) >*** Connecting, prompt for any DSN, or set your if you want it. >lnHandle = SQLConnect() >*** Getting @@tranCount after connecting, we already set manual transactions >?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") >?"Expected value of TranCount=1, Actual TranCount=",cTrans.NumTran >*** Send an explicit transaction >?SQLExec(lnHandle,"BEGIN TRANSACTION") >*** Getting @@trancount after send explicit transaction >?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") >?"Expected value of TranCount=2, Actual TranCount=",cTrans.NumTran >>
clear ?SQLDisconnect(0) *** Set the transactions to default, just to be sure ?SQLSetProp(0,"Transactions",1) *** Connecting, prompt for any DSN, or set your if you want it. lnHandle = SQLConnect() *** Getting @@tranCount before setting manual transactions ?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") ?"Expected value of TranCount=0, Actual TranCount=",cTrans.NumTran ?SQLSetProp(lnHandle,"Transactions",2) *** Getting @@trancount after setting manual transactions * ADD a write operation ?SQLExec(lnHandle,"CREATE TABLE #DUMMY (A INT) DROP TABLE #DUMMY SELECT @@trancount as NumTran","ctrans") ?"Expected value of TranCount=1, Actual TranCount=",cTrans.NumTran *** Send an explicit transaction ?SQLExec(lnHandle,"BEGIN TRANSACTION") *** Getting @@trancount after send explicit transaction ?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") ?"Expected value of TranCount=2, Actual TranCount=",cTrans.NumTran ?SQLDisconnect(0) *** Set the transactions to manual ?SQLSetProp(0,"Transactions",2) *** Connecting, prompt for any DSN, or set your if you want it. lnHandle = SQLConnect() && <<< this set @@trancount to 1 *** Getting @@tranCount after connecting, we already set manual transactions *** with manual transaction ?SQLExec(lnHandle,"ROLLBACK SELECT @@trancount as NumTran","ctrans") ?"Expected value of TranCount=0, Actual TranCount=",cTrans.NumTran *** Send an explicit transaction ?SQLExec(lnHandle,"BEGIN TRANSACTION") *** Getting @@trancount after send explicit transaction ?SQLExec(lnHandle,"SELECT @@trancount as NumTran","ctrans") ?"Expected value of TranCount=2, Actual TranCount=",cTrans.NumTranSuggestion not to use it, even if the Mega gurus say that this is the way.