Difference between revisions of "SQLROLLBACK()"
From Recital Documentation Wiki
Yvonnemilne (Talk | contribs) |
Yvonnemilne (Talk | contribs) |
||
(One intermediate revision by one user not shown) | |||
Line 8: | Line 8: | ||
==See Also== | ==See Also== | ||
− | [[CREATE CONNECTION]], [[SQLCANCEL()]], [[SQLCOLUMNS()]], [[SQLCOMMIT()]], [[SQLCONNECT()]], [[SQLDISCONNECT()]], [[SQLEXEC()]], [[SQLGETPROP()]] [[SQLMORERESULTS()]], [[SQLPREPARE()]], [[SQLSETPROP()]], [[SQLSTRINGCONNECT()]], [[SQLTABLES()]] | + | [[CREATE CONNECTION]], [[SQLCANCEL()]], [[SQLCOLUMNS()]], [[SQLCOMMIT()]], [[SQLCONNECT()]], [[SQLDISCONNECT()]], [[SQLERROR()]], [[SQLEXEC()]], [[SQLGETPROP()]] [[SQLMORERESULTS()]], [[SQLPREPARE()]], [[SQLSETPROP()]], [[SQLSTRINGCONNECT()]], [[SQLTABLES()]] |
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> | ||
+ | |||
Latest revision as of 16:15, 4 July 2011
Purpose
Rollback a transaction
Syntax
SQLROLLBACK(<nStatementHandle>)
See Also
CREATE CONNECTION, SQLCANCEL(), SQLCOLUMNS(), SQLCOMMIT(), SQLCONNECT(), SQLDISCONNECT(), SQLERROR(), 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