谁能帮帮我?存储过程的输出参数如何写?

chahaimei 2004-08-11 09:31:00
下面是一个存储过程,哪位师兄师姐能告诉我在asp中如何调用。
CREATE PROCEDURE UserLogin

@v_Email varchar(20), -- 用户登录名称

@i_out int out -- 输出参数 0:没有登录 1:已经登录

as

declare @v_sql varchar(100)

if object_id('tempdb.dbo.##'+@v_Email) is null

begin

set @v_sql = 'create table ##'+@v_Email+'(Email varchar(20))'

exec (@v_sql)

set @i_out = 0


end

else

set @i_out = 1
GO

...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chahaimei 2004-08-12
  • 打赏
  • 举报
回复
zonelive,你好!谢谢你,你写的输入参数的例子非常清楚,我是一个菜鸟,对输出参数的使用还是不太会用麻烦你给举个例子行吗?
我写的存储过程其实是两个参数,一个是输入参数,一个是输出参数,我在程序执行时为什么需要输入两个参数呢?我在SQL 查询器中只输入一个参数即可呀?劳驾你!谢谢!
panjinfu80 2004-08-12
  • 打赏
  • 举报
回复
up
zonelive 2004-08-11
  • 打赏
  • 举报
回复
使用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>

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧