在ASP中使用存储过程

2008-02-23 05:31:31来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

使用SQL Server数据库,您可使用存储过程直接在数据库中存储并运行功能强大的任务,而不在自己的ASP脚本中实现他们,因为存储过程位于数据库服务器上,因而具备更高的性能并能减少网络负载。本文旨在通过实例说明在ASP中如何调用存储过程并传递输入参数的方法。

  下面我们就通过一个实例来说明这种技术的使用方法(文档adovbs.inc可在C:\Program Files\Common Files\System\ADO下找到):

安装SQL Server后,数据库pubs中自带存储过程byroyalty,语句为(@percentage就是输入参数):

Alter PROCEDURE byroyalty @percentage int

AS

select au_id from titleauthor

where titleauthor.royaltyper = @percentage

ASP源程式:

<% @LANGUAGE = VBScript %>

<!--#include file="adovbs.inc"-->

<%

Response.Expires = 0

Dim Cnn, objRS,strConn,objCmd, objParam

Const strIn = 30    '存储过程的输入参数,为简化程式, 直接配置该值.

' 建立连接

Set Cnn = Server.CreateObject("ADODB.Connection")

strConn ="Provider=sqloledb;" & _

   "Data Source=16.62.5.8;Initial Catalog=pubs;User Id=sa;Password=;"

Cnn.Open strConn

' 创建Command对象

Set objCmd = Server.CreateObject("ADODB.Command")

objCmd.CommandText = "byroyalty"     '存储的过程名

objCmd.CommandType = adCmdStoredProc   '将 CommandText 作为存储过程名进行计算

Set objCmd.ActiveConnection = Cnn

'创建并定义参数

Set objParam = objCmd.CreateParameter ("@percentage", adInteger, adParamInput, 4,

strIn)

objCmd.Parameters.Append objParam

Set objRS = objCmd.Execute()

%>

<HTML>

<BODY>

下面输出结果, 输入参数为:

<%= objCmd.Parameters("@percentage") %> .

<BR><BR> au_id<Br>

<%

While Not objRS.EOF

Response.Write Server.HTMLEncode(objRS("au_id")) & "<Br>"

objRS.MoveNext

Wend

objRS.close: Cnn.close

Set objRS = Nothing: Set Cnn = Nothing

Set objParam = Nothing: Set objCmd = Nothing

%>

</BODY>

</HTML>

  除了可传递输入参数外,还能够使用返回码和输出参数返回值,由于篇幅关系,笔者不再举例,有兴趣可去我的主页http://wuf.bentium.net 下载更多的源程式,另外也可参考VB6.0的MSDN文档中有关ADO的部分和SQL Server7.0 的帮助文档。



标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: ASP数据库编程技巧

下一篇: 也谈ASP技术实现站点加密

热门词条
热门标签