知识大全 ASP存储过程的使用方法
Posted 知
篇首语:博观而约取,厚积而薄发。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP存储过程的使用方法相关的知识,希望对你有一定的参考价值。
ASP存储过程的使用方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一 使用Command对象和Parameter对象传递参数 本讲将主要使用Microsoft SQL Server 数据库 先建立一个连接文件AdoSQL asp备用 以后用到时不再特别说明 <% AdoSQL asp Option Explicit Response Expires = 第一部分: 建立连接 Dim Cnn StrCnn Set Cnn = Server CreateObject( ADODB Connection ) StrCnn = Provider=sqloledb; User ID=sa; Password=; Initial Catalog=pubs; Data Source=ICBCZJP Cnn Open StrCnn %> 注意 自己使用时要将Data Source设为你的数据库服务器所在的机器名 另外 以前使用Access数据库时 用Microsoft Access 可以很方便的查看字段及数据 而使用SQL Server数据库 尤其是并不在数据库服务器 而是在另一台机器上调试ASP脚本时 要查看字段及数据便需另外安装工具 这里向你提供一个工具 Msqry exe(Microsoft Query) 这个文件随Office 安装 一般位于目录 Microsoft Office\\Office 下 例wuf asp <%@ LANGUAGE= VBSCRIPT %> <! #include file= AdoSQL asp > <! #include file= adovbs inc > <% wuf asp Dim cmdTest prmTest rsTest 创建 Command 对象 Set cmdTest = Server CreateObject( ADODB Command ) Recordset Command对象都可以通过ActiveConnection属性来连接Connection对象 cmdTest ActiveConnection = Cnn SQL命令 含两个参数 用 ? 表示 cmdTest CommandText = Update jobs Set job_desc = ? Where job_id = ? 设命令类型为 SQL 语句 cmdTest CommandType = adCmdText Prepared 属性决定是否将 SQL 命令先行编译 将其设为True 可以加快运行 cmdTest Prepared = True 创建 Parameter 对象 Set prmTest=cmdTest CreateParameter( job_desc adVarChar adParamInput 网络 ) 将数据追加到 Parameters 数据集合中 cmdTest Parameters Append prmTest Set prmTest = cmdTest CreateParameter( job_id adSmallInt adParamInput ) cmdTest Parameters Append prmTest 执行修改 – 不需要返回结果 简单的使用cmdTest Execute 就可以了 cmdTest Execute 重新设置参数运行 – 便可修改另一条数据 cmdTest Parameters( job_id ) = cmdTest Parameters( job_desc ) = 测试 cmdTest Execute 重新设置参数运行 cmdTest( job_id ) = cmdTest( job_desc ) = 金融 cmdTest Execute Set rsTest = Cnn Execute( Select job_id job_desc From jobs ) While Not rsTest EOF Response Write rsTest( ) & rsTest( ) & <br> rsTest MoveNext Wend Cnn close : Set prmTest = Nothing Set cmdTest = Nothing: Set Cnn = Nothing %> 分析 .Command对象的CreateParameter方法用来为SQL命令或存储过程建立参数对象 共有五个参数(五个参数都是可选项) 第一个参数 参数对象的名称 第二个参数 参数对象的数据类型 种类太多 还是参考ADO帮助吧 这里adVarChar(字符串值) adSmallInt( 字节带符号整型) 第三个参数 参数类型 可以是 adParamInput(指示输入参数) adParamOutput( 指示为输出参数) adParamReturnValue(指示为返回值) adParamUnknown(指示参数类型无法确定) adParamInputOutput(指示为输入/输出参数) 第四个参数 参数的数据长度 最好指定为与数据库中对应字段长度相等 以免使用时出错 尤其数据类型为VarChar时 如果是整型或日期型则不必提供该值 第五个参数 参数的设置初值 .cmdTest Parameters Append方法增加一个Parameter对象到Parameters数据集合中 从本例中也可看到如何使用多个参数 .从本例可以看到 只需要重新设定输入参数 便可执行对其他数据的修改 非常方便 这一思路在编程时也是最常用的方法之一 .重设参数 既可以使用cmdTest Parameters 也可以省略为cmdTest( job_id ) 二 在ASP中使用存储过程 什么是存储过程(存储过程位于数据库服务器中 是一个SQL语句的集合 可包含一个或多个SQL语句) 怎样创建存储过程不属于本讲座的内容 本讲座主要是举例说明在ASP中如何调用存储过程 使用存储过程的好处是大大的 存储过程比在ASP脚本中运行SQL命令效率更高 可以提高整体性能并减轻网络负载(减少了在网络服务器和数据服务器之间的交互) 可以优化ASP代码和增强代码灵活性等等 (一)在存储过程中使用输入参数 本例中使用的存储过程为SQL Server 自带的 byroyalty 里面的一条SQL语句非常简单 无非是多了一个CREATE PROCEDURE byroyalty 并且有一个输入参数为@percentage CREATE PROCEDURE byroyalty @percentage int AS select au_id from titleauthor where titleauthor royaltyper = @percentage serve by 例wuf asp <% @LANGUAGE = VBScript %> <! #include file= AdoSQL asp > <! #include file= adovbs inc > <% wuf asp Dim cmdTest prmTest rsTest Set cmdTest = Server CreateObject( ADODB Command ) cmdTest CommandText = byroyalty 存储过程名 设命令类型为 存储过程 cmdTest CommandType = adCmdStoredProc 创建 Parameter 对象 Set prmTest = Server CreateObject( ADODB Parameter ) Type属性对应wuf asp中的第二个参数 prmTest Type = adInteger 字节的带符号整型 Direction属性对应wuf asp中的第三个参数 prmTest Direction = adParamInput Value属性对应wuf asp中的第五个参数 prmTest Value = cmdTest Parameters Append prmTest Set cmdTest ActiveConnection = Cnn 需要返回一个记录集 故使用Set rsTest = cmdTest Execute Set rsTest = cmdTest Execute While Not rsTest EOF Response Write rsTest( ) & <br> rsTest MoveNext Wend Cnn close Set rsTest = Nothing : Set prmTest = Nothing Set cmdTest = Nothing: Set Cnn = Nothing %> CommandText属性既可以指定SQL命令 也可以指定为存储过程或者是表名称 在本例中 创建Parameter对象与wuf asp略有不同 其实仔细看看 意思也是差不多的 本例还有两个属性未用 prmTest Name prmTest Size 加上Type Direction和Value 对应于wuf asp中的五个参数 (二)使用输出参数 从数据库表中取得一个记录或计算一个值时 需要使用返回输出参数的存储过程 为了举例 先在SQL Server的pubs库中新建一存储过程OUTemploy 该存储过程需要输入两个日期 然后输出一个最大值 CREATE PROCEDURE OUTemploy ( @job_lvl tinyint OUTPUT @hire_date datetime @hire_date datetime ) AS select @job_lvl = MAX(job_lvl) from employee where hire_date >= @hire_date and hire_date <= @hire_date 有多种方法可以建立存储过程 .使用Microsoft SQL Server的Enterprise Manager 打开后在左边的树目录中依次打开 Console Root – Microsoft SQL Servers – SQL Server Group – ICBCZJP(Windows NT) – databases – pubs – stored procedure – New stored procedure 输入存储过程后 还可对其进行语法检测 .使用Microsoft SQL Server的Query Analyzer 先连接数据库服务器并选择pubs数据库 输入上面的存储过程并点击Execute Query(或按F ) .使用VB 打开菜单 视图 / 数据视图窗口 后 右键单击 数据链接 / 新建数据链接 .使用ASP脚本创建存储过程 例wuf asp <% @LANGUAGE = VBScript %> <! #include file= AdoSQL asp > cha138/Article/program/net/201311/11987相关参考
ASP调用带参数存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这也是最简单的方法两个输
ASP.NET调用存储过程方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 根据返回值类型的不
存储过程的定义 CREATEprocedurepro_buyGoods ( @GoodsNamevarchar() @GoodsNumint ) AS declare@countas
ASP.NET中如何调用存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用ASPNET与
ASP.NET利用存储过程实现分页 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先说下思路写
用ASP调用SQL的视图和存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一前言
对比JSP和ASP.NET的存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Jav
ASP.NET中利用存储过程实现模糊查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一建立存
在ASP.NET中调用存储过程方法新解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在使用NET的