FUNDTRANSFER_JSCRIPT.ASP
<%@ TRANSACTION=Required LANGUAGE="JScript" %> 
 
<!--#include file="adojavas.inc"--> 
 
<HTML> 
    <HEAD> 
        <TITLE>Transactional Database Update</TITLE> 
    </HEAD> 
 
    <BODY BGCOLOR="White" topmargin="10" leftmargin="10"> 
 
 
        <!-- Display Header --> 
 
        <font size="4" face="Arial, Helvetica"> 
        <b>Transactional Database Update</b></font><br> 
       
        <hr size="1" color="#000000"> 
 
 
        <!-- Brief Description blurb.  --> 
 
        This is a simple example demonstrating how to transactionally  
        update a SQL 6.5 database using ADO and Transacted ASP. 
        The example will obtain information regarding a book sale from  
        the SQL 6.5 "Pubs" database.  It will then increment the quantity  
        of books sold by one, as well as change the zip-code of the store  
        in which the book was sold.   
 
        <p> Because the two database operations are wrapped 
        within a shared ASP Transaction, both will be automatically rolled 
        back to their previous state in the event of a failure. 
 
 
<% 
var oConn;// object for ADODB.Connection obj 
var oRs;// object for recordset object 
var oRs2;// object for recordset object 
 
 
// Create Connection and Recordset components 
 
oConn = Server.CreateObject("ADODB.Connection"); 
oRs   = Server.CreateObject("ADODB.Recordset"); 
oRs2  = Server.CreateObject("ADODB.Recordset"); 
 
 
// Open ADO Connection using account "sa" 
// and blank password 
 
oConn.Open("DSN=LocalServer;UID=sa;PWD=;DATABASE=pubs"); 
oRs.ActiveConnection = oConn; 
oRs2.ActiveConnection = oConn; 
 
 
 
// Find a random book sale  
 
oRs.Source = "SELECT * FROM sales"; 
oRs.CursorType = adOpenStatic;// use a cursor other than Forward Only 
oRs.LockType = adLockOptimistic;// use a locktype permitting insertions 
oRs.Open(); 
 
 
// Change quantity sold 
 
if (! oRs.EOF) { 
oRs("qty").Value = oRs("qty").Value + 1; 
oRs.Update(); 
} 
 
 
 
// Find the store in which the book was sold 
 
oRs2.Source = "SELECT * FROM stores where stor_id='" + oRs("stor_id") + "'"; 
oRs2.CursorType = adOpenStatic;// use a cursor other than Forward Only 
oRs2.LockType = adLockOptimistic;// use a locktype permitting insertions 
oRs2.Open(); 
 
 
// Change zip code 
 
if (! oRs2.EOF) { 
oRs2("Zip").Value = new Number(oRs2("Zip").Value) + 1; 
oRs2.Update(); 
} 
%> 
 
 
    </BODY> 
</HTML> 
 
 
<% 
    // The Transacted Script Commit Handler.  This sub-routine 
    // will be called if the transacted script commits. 
 
    function OnTransactionCommit() 
    { 
Response.Write("<p><b>The update was successful</b>."); 
    } 
 
 
    // The Transacted Script Abort Handler.  This sub-routine 
    // will be called if the script transacted aborts 
 
    function OnTransactionAbort() 
    { 
Response.Write("<p><b>The update was not successful</b>."); 
    } 
%>