Difference between revisions of "SQLROLLBACK()"

From Lianjapedia
Jump to: navigation, search
m (Text replace - "Recital" to "Lianja")
Line 1: Line 1:
 
==Purpose==
 
==Purpose==
 
Rollback a transaction
 
Rollback a transaction
 
  
 
==Syntax==
 
==Syntax==
 
SQLROLLBACK(<nStatementHandle>)
 
SQLROLLBACK(<nStatementHandle>)
 
  
 
==See Also==
 
==See Also==
 
[[CREATE CONNECTION]], [[SQLCANCEL()]], [[SQLCOLUMNS()]], [[SQLCOMMIT()]], [[SQLCONNECT()]], [[SQLDISCONNECT()]], [[SQLERROR()]], [[SQLEXEC()]], [[SQLGETPROP()]] [[SQLMORERESULTS()]], [[SQLPREPARE()]], [[SQLSETPROP()]], [[SQLSTRINGCONNECT()]], [[SQLTABLES()]]
 
[[CREATE CONNECTION]], [[SQLCANCEL()]], [[SQLCOLUMNS()]], [[SQLCOMMIT()]], [[SQLCONNECT()]], [[SQLDISCONNECT()]], [[SQLERROR()]], [[SQLEXEC()]], [[SQLGETPROP()]] [[SQLMORERESULTS()]], [[SQLPREPARE()]], [[SQLSETPROP()]], [[SQLSTRINGCONNECT()]], [[SQLTABLES()]]
 
  
 
==Description==
 
==Description==
Line 15: Line 12:
  
 
The SQLROLLBACK() function operates on the data source specified by <nStatementHandle>.
 
The SQLROLLBACK() function operates on the data source specified by <nStatementHandle>.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 23: Line 19:
 
|-
 
|-
 
|}
 
|}
 
  
 
====Return values:====
 
====Return values:====
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 36: Line 30:
 
|-
 
|-
 
|}
 
|}
 
  
 
==Example==
 
==Example==
Line 71: Line 64:
 
SQLDISCONNECT(nStatHand)
 
SQLDISCONNECT(nStatHand)
 
</code>
 
</code>
 
 
  
 
==Products==
 
==Products==

Revision as of 11:17, 11 December 2012

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

Lianja, Lianja Server