| This demo It's called ReturnValue.asp and shows you how to execute a stored procedure that has input params, output params, a returned recordset and a return value. <!-- Author: John Bailey -->
<%@ Language=VBScript %>
<% 'CODE TO CREATE THE STORED PROCEDURE THAT THIS ASP ACCESSES 'Just remove all comments after this line, paste into the SQL query analyzer and run.
'-- insures you use the right database 'use pubs 'GO ' '-- Creates the procedure 'create procedure sp_PubsTest ' '-- declare three parameter variables ' @au_lname varchar (20), ' @intID int, ' @intIDOut int OUTPUT ' 'AS ' 'SELECT @intIDOut = @intID + 1 ' 'SELECT * 'FROM authors 'WHERE au_lname LIKE @au_lname + '%'
'RETURN @intID + 2
%>
<%
'THIS IS THE ASP CODE. Just run from the server.
Option Explicit
Dim CmdSP Dim adoRS Dim adCmdSPStoredProc Dim adParamReturnValue Dim adParaminput Dim adParamOutput Dim adInteger Dim iVal Dim oVal Dim adoField Dim adVarChar
adCmdSPStoredProc = 4 adParamReturnValue = 4 adParaminput = 1 adParamOutput = 2 adInteger = 3 adVarChar = 200
iVal = 5 oVal = 3
'-- Create a command object -- set CmdSP = Server.CreateObject("ADODB.Command")
'-- Make an ODBC connection to the (local) SQL server, '-- connecting to the Pubs database with the default sa login and empty password CmdSP.ActiveConnection = "Driver={SQL Server};server=(local);Uid=sa;Pwd=;Database=Pubs"
'-- define the name of the command CmdSP.CommandText = "sp_PubsTest" '-- define the type of the command as a stored procedure (numeric value = 4) CmdSP.CommandType = adCmdSPStoredProc '-- define the first parameter - the one the procedure will return '-- the calls are: '-- CmdSP.Parameters.Append: append this parameter to the collection for this command object '-- CmdSP.CreateParameter(): creates the parameter using the values given: '-- "RETURN_VALUE" is the name of the parameter for later reference '-- adInteger (value = 3) indicates this parameter is an integer datatype '-- adParamReturnValue (value = 4) indicates this parameter is expected to be returned '-- 4 is an arbitrary initial value for this parameter
CmdSP.Parameters.Append CmdSP.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 4)
'-- define the first parameter - the one the procedure will return '-- the calls are: '-- CmdSP.Parameters.Append: append this parameter to the collection for this command object '-- CmdSP.CreateParameter(): creates the parameter using the values given: '-- "@au_lname" is the name of the parameter for later reference '-- adVarChar (value = 200) indicates this parameter is a string datatype '-- adParamInput (value = 1) indicates this parameter is for input '-- 20 is the size of the string in characters '-- "M" is an arbitrary initial value for this parameter CmdSP.Parameters.Append CmdSP.CreateParameter("@au_lname", adVarChar, adParaminput, 20, "M")
'-- define the first parameter - the one the procedure will return '-- the calls are: '-- CmdSP.Parameters.Append: append this parameter to the collection for this command object '-- CmdSP.CreateParameter(): creates the parameter using the values given: '-- "@intID" is the name of the parameter for later reference '-- adInteger (value = 3) indicates this parameter is an integer datatype '-- adParamInput (value = 1) indicates this parameter is for input '-- the blank is a failure to declare the size of the variable '-- iVal is an arbitrary initial value for this parameter, placed with the variable CmdSP.Parameters.Append CmdSP.CreateParameter("@intID", adInteger, adParamInput, , iVal)
'-- define the first parameter - the one the procedure will return '-- the calls are: '-- CmdSP.Parameters.Append: append this parameter to the collection for this command object '-- CmdSP.CreateParameter(): creates the parameter using the values given: '-- "@intIDOut" is the name of the parameter for later reference '-- adInteger (value = 3) indicates this parameter is an integer datatype '-- adParamOutput (value = 2) indicates this parameter is expected to return an output '-- oVal is an arbitrary initial value for this parameter, placed with the variable oVal CmdSP.Parameters.Append CmdSP.CreateParameter("@intIDOut", adInteger, adParamOutput, oVal) '-- execute the command Set adoRS = CmdSP.Execute
'-- loop through the returned recordset While Not adoRS.EOF
'-- loop through the field collection, reporting name and contents for each adoField in adoRS.Fields Response.Write adoField.Name & "=" & adoField.Value & "<br>" & vbCRLF Next Response.Write "<br>" adoRS.MoveNext Wend
'-- move to the parameter recordset Set adoRS = adoRS.NextRecordset
'-- report parameter values, accessing each by name Response.Write "<p>@intIDOut = " & CmdSP.Parameters("@intIDOut").Value & "</p>" Response.Write "<p>Return value = " & CmdSP.Parameters("RETURN_VALUE").Value & "</p>"
'-- tidy up the handles Set adoRS = nothing Set CmdSP.ActiveConnection = nothing Set CmdSP = nothing %> |
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More ASP Code Articles More By Adrian Forbes developerWorks - FREE Tools! | The IBM DB2 Deep Compression ROI tool is designed for DBA’s and IT management personnel to perform a clinical analysis of the cost savings gained from the Storage Optimization feature of DB2 9 for Linux, UNIX and Windows. The feature, also known as Deep Compression, compresses data that lies within a database by up to 80% at times. FREE! Go There Now!
| | | | Discover how IBM Rational AppScan Standard Edition can help you detext vulnerabilities in your web applications in the Web Application Security eKit. IBM Rational AppScan is a leading suite of automated web application security solutions that scan and test for common Web application vulnerabilities. The new Web Application Security eKit provides you with valuable resources, including white papers, demos, and additional information on the benefits of testing your Web applications. FREE! Go There Now!
| | | | Secure your Web applications with IBM Rational AppScan Standard Edition V7.7, previously known as Watchfire AppScan. This Web application security testing tool automates vulnerability assessments and scans and tests for common Web application vulnerabilities. Visit IBM developerWorks to download a free trial of IBM Rational AppScan Standard Edition V7.7. FREE! Go There Now!
| | | | Learn how Rational Build Forge can extend a simple compile and package build process by adding customization and deployment capability. Go from a manual method to automating: checking for code changes; getting the latest source; compiling and packaging; customizing; copying to and restarting a deployment server; and sending e-mail notification that a new version is available. FREE! Go There Now!
| | | | This paper is about the critical role that a discipline called integrated requirements management can play in helping to ensure that your business goals and IT investments are continuously aligned—whether you are sourcing, integrating, building or maintaining software. It also looks at ways that automated IBM Rational® products can work together to help you use requirements in the very best way. FREE! Go There Now!
| | | | Informix Dynamic Server (IDS) Express Edition offers outstanding online transaction processing (OLTP) database performance, while helping to simplify and automate many of the tasks associated with deploying databases for small business applications. IDS 11 further extends the ease of management and applications integration with the Admin API and Scheduler, high availability with Continuous Log Restore for backup server recovery in case of a primary server failure, and column level encryption to protect personal and company private data. FREE! Go There Now!
| | | | As businesses grow increasingly dependent upon Web applications, these complex entities grow more difficult to secure. Most companies equip their Web sites with firewalls, Secure Sockets Layer (SSL), and network and host security, but the majority of attacks are on applications themselves – and these technologies cannot prevent them. This paper explains what you can do to help protect your organization, and it discusses an approach for improving your organization’s Web application security. FREE! Go There Now!
| | | | Whether you are creating new applications or modifying existing ones, managing integration of new components with traditional z/OS elements is a critical part of building and deploying modern applications. Listen to this webcast to see how IBM can help you optimize your development process using an IDE like Rational Developer for System z that integrates with management tools, such as ClearCase to manage your application development on mainframes. FREE! Go There Now!
| | | | Attend this launch webcast with Scott Hebner, Vice President of IBM Rational Marketing and Strategy, where he will overview Rational’s new offerings and programs to help customers accelerate software innovation on System z. He will discuss how these solutions help organizations extend their core business processes toward modern architectures such as SOA and web technologies to deliver business improvements that stand the test of time. FREE! Go There Now!
| | | | The discipline of assembling and delivering software is maturing beyond standard developer-centric compile/test software builds. The end-to-end software development lifecycle is emerging as the new focus moves “Beyond the Build.” Join this on demand webcast to learn about methods for streamlining software delivery and key capabilities of the IBM Rational Build Forge framework for automating build and release management in environments of any size. FREE! Go There Now!
| | | | All FREE IBM® developerWorks Tools! | |