Difference between revisions of "SQLROLLBACK()"
From Recital Documentation Wiki
Yvonnemilne (Talk | contribs) |
Yvonnemilne (Talk | contribs) |
||
Line 40: | Line 40: | ||
==Example== | ==Example== | ||
<code lang="recital"> | <code lang="recital"> | ||
− | nStatHand=SQLSTRINGCONNECT("rec@rec1:user1/pass1 | + | nStatHand=SQLSTRINGCONNECT("rec@rec1:user1/pass1-southwind.tcpip",.T.) |
if nStatHand < 1 | if nStatHand < 1 | ||
− | messagebox("Cannot make connection", 16, "SQL Connect Error") | + | messagebox("Cannot make connection", 16, "SQL Connect Error") |
else | else | ||
− | messagebox("Connection made", 48, "SQL Connect Message") | + | messagebox("Connection made", 48, "SQL Connect Message") |
− | nSetEnd = SQLSETPROP(nStatHand,"Transactions",2) | + | nSetEnd = SQLSETPROP(nStatHand,"Transactions",2) |
− | if nSetEnd = 1 | + | if nSetEnd = 1 |
− | + | messagebox("Manual Transactions enabled",0,"Transaction") | |
− | else | + | else |
− | + | if messagebox("Unable to enable Manual Transactions, continue?",36,"Transaction") = 6 | |
− | + | SQLDISCONNECT(nStatHand) | |
− | SQLDISCONNECT(nStatHand) | + | return |
− | return | + | endif |
− | endif | + | endif |
− | endif | + | nRET=SQLEXEC(nStatHand,"INSERT INTO example (ACCOUNT_NO, TITLE, LAST_NAME, FIRST_NAME, INITIAL, STREET, CITY, STATE, ZIP, LIMIT, START_DATE) VALUES ('00200','Mr','Doe','John','L','1 High Street','Beverly','MA','01916', 12000, {05/12/2003})") |
− | nRET=SQLEXEC(nStatHand,"INSERT INTO example (ACCOUNT_NO, TITLE, LAST_NAME, FIRST_NAME, INITIAL, STREET, CITY, STATE, ZIP, LIMIT, START_DATE) VALUES ('00200','Mr','Doe','John','L','1 High Street','Beverly','MA','01916', 12000, {05/12/2003})") | + | if SQLGETPROP(nStatHand, "Transactions") = 2 |
− | if SQLGETPROP(nStatHand, "Transactions") = 2 | + | if messagebox("Commit Insert?",36,"Transaction") = 6 |
− | + | messagebox("SQLCOMMIT() returned " + etos(SQLCOMMIT(nStatHand)),0,"Transaction") | |
− | + | else | |
− | + | messagebox("SQLROLLBACK() returned " + etos(SQLROLLBACK(nStatHand)),0,"Transaction") | |
− | else | + | endif |
− | + | endif | |
− | endif | + | nSetEnd = SQLSETPROP(nStatHand, "Transactions",1) |
− | endif | + | if nSetEnd = 1 |
− | nSetEnd = SQLSETPROP(nStatHand, "Transactions",1) | + | messagebox("Automatic Transactions enabled",0,"Transaction") |
− | if nSetEnd = 1 | + | else |
− | + | messagebox("Unable to enable Automatic Transactions.",0,"Transaction") | |
− | else | + | endif |
− | + | ||
− | endif | + | |
endif | endif | ||
SQLDISCONNECT(nStatHand) | SQLDISCONNECT(nStatHand) | ||
</code> | </code> | ||
+ | |||
Revision as of 14:22, 27 August 2010
Purpose
Rollback a transaction
Syntax
SQLROLLBACK(<nStatementHandle>)
See Also
CREATE CONNECTION, SQLCANCEL(), SQLCOLUMNS(), SQLCOMMIT(), SQLCONNECT(), SQLDISCONNECT(), SQLEXEC(), SQLGETPROP() SQLMORERESULTS(), SQLPREPARE(), SQLSETPROP(), SQLSTRINGCONNECT(), SQLTABLES()
Description
The SQLROLLBACK() function is used to roll back a transaction. The SQLROLLBACK() function is only required when Manual Transactions are in effect. The Transactions setting, set using SQLSETPROP(), can be either Automatic (1) or Manual (2). Manual Transactions can be can be committed using the SQLCOMMIT() function.
The SQLROLLBACK() function operates on the data source specified by <nStatementHandle>.
Keywords | Description |
---|---|
nStatementHandle | The workarea in which the gateway data source is open |
Return values:
Return Value | Description |
---|---|
1 | SQL statement was rolled back successfully |
–1 | Error occurred |
Example
nStatHand=SQLSTRINGCONNECT("rec@rec1:user1/pass1-southwind.tcpip",.T.) if nStatHand < 1 messagebox("Cannot make connection", 16, "SQL Connect Error") else messagebox("Connection made", 48, "SQL Connect Message") nSetEnd = SQLSETPROP(nStatHand,"Transactions",2) if nSetEnd = 1 messagebox("Manual Transactions enabled",0,"Transaction") else if messagebox("Unable to enable Manual Transactions, continue?",36,"Transaction") = 6 SQLDISCONNECT(nStatHand) return endif endif nRET=SQLEXEC(nStatHand,"INSERT INTO example (ACCOUNT_NO, TITLE, LAST_NAME, FIRST_NAME, INITIAL, STREET, CITY, STATE, ZIP, LIMIT, START_DATE) VALUES ('00200','Mr','Doe','John','L','1 High Street','Beverly','MA','01916', 12000, {05/12/2003})") if SQLGETPROP(nStatHand, "Transactions") = 2 if messagebox("Commit Insert?",36,"Transaction") = 6 messagebox("SQLCOMMIT() returned " + etos(SQLCOMMIT(nStatHand)),0,"Transaction") else messagebox("SQLROLLBACK() returned " + etos(SQLROLLBACK(nStatHand)),0,"Transaction") endif endif nSetEnd = SQLSETPROP(nStatHand, "Transactions",1) if nSetEnd = 1 messagebox("Automatic Transactions enabled",0,"Transaction") else messagebox("Unable to enable Automatic Transactions.",0,"Transaction") endif endif SQLDISCONNECT(nStatHand)
Products
Recital, Recital Server