ASP存储过程开发应用详解第1/2页(2)

来源:asp之家 时间:2011-04-07 11:16:00 

2. 没有输入输出的存储过程

请看以下存储过程:

以下为引用的内容:

/*SP2*/
CREATE PROCEDURE dbo.delUserAll
as
set nocount on
begin
delete from dbo.[userinfo]
end
go

该存储过程删去userinfo表中的所有记录,没有任何输入及输出,调用方法与上面讲过的基本相同,只是不用取得记录集:

'**通过Command对象调用存储过程**
DIM MyComm
Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
MyComm.CommandText = "delUserAll" '指定存储过程名
MyComm.CommandType = 4 '表明这是一个存储过程
MyComm.Prepared = true '要求将SQL命令先行编译
MyComm.Execute '此处不必再取得记录集
Set MyComm = Nothing 

当然也可通过Connection对象或Recordset对象调用此类存储过程,不过建立Recordset对象是为了取得记录集,在没有返回记录集的情况下,还是利用Command对象吧。

3. 有返回值的存储过程

在进行类似SP2的操作时,应充分利用SQL Server强大的事务处理功能,以维护数据的一致性。并且,我们可能需要存储过程返回执行情况,为此,将SP2修改如下:

以下为引用的内容:

/*SP3*/
CREATE PROCEDURE dbo.delUserAll
as
set nocount on
begin
BEGIN TRANSACTION
delete from dbo.[userinfo]
IF @@error=0 
begin
COMMIT TRANSACTION
return 1
end
ELSE
begin
ROLLBACK TRANSACTION
return 0
end 
return
end
go 

以上存储过程,在delete顺利执行时,返回1,否则返回0,并进行回滚操作。为了在ASP中取得返回值,需要利用Parameters集合来声明参数:


'**调用带有返回值的存储过程并取得返回值**
DIM MyComm,MyPara
Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
MyComm.CommandText = "delUserAll" '指定存储过程名
MyComm.CommandType = 4 '表明这是一个存储过程
MyComm.Prepared = true '要求将SQL命令先行编译
'声明返回值
Set Mypara = MyComm.CreateParameter("RETURN",2,4)
MyComm.Parameters.Append MyPara
MyComm.Execute
'取得返回值
DIM retValue
retValue = MyComm(0) '或retValue = MyComm.Parameters(0)
Set MyComm = Nothing

标签:ASP,存储过程
0
投稿

猜你喜欢

  • 解析:轻松了解 MySQL中损坏的MyISAM表

    2009-02-23 17:30:00
  • CSS的学习应该注意学习方法

    2007-11-27 00:20:00
  • Ubuntu下设置mysql自动备份

    2010-10-25 20:25:00
  • HTML5 第二份草案发布

    2008-06-17 17:42:00
  • 如何在 IE 中使用 HTML5 元素

    2009-06-14 19:44:00
  • 分享整理的12条sql语句连同数据

    2012-07-11 16:14:59
  • CMS不要让MySQL为你流泪

    2008-12-11 14:38:00
  • 抛砖:如何进行互联网项目开发

    2010-01-25 12:25:00
  • 手机版远程网站文件删除ASP程序

    2009-02-24 16:23:00
  • 教你轻松解决几种常见的SQL疑难问题

    2009-01-07 14:25:00
  • 关于select元素的两个小问题

    2008-12-25 13:41:00
  • asp 数组 重复删除函数代码

    2011-03-03 10:47:00
  • W3C web标准概念入门

    2008-05-25 15:06:00
  • 帮助你分析MySQL的数据类型以及建库策略

    2009-02-23 17:39:00
  • 用Dreamweaver设计限时自动关闭网页

    2009-07-10 13:13:00
  • 如何编写一个创建FTP站点的函数?

    2009-11-07 18:51:00
  • 如何利用SysOjects来获知数据库的信息?

    2010-01-01 15:43:00
  • IE和Firefox的js兼容性整理

    2007-11-21 19:40:00
  • asp生成带有样式的word文件方法

    2011-04-18 10:30:00
  • asp如何用下拉列表显示数据库里的内容?

    2010-06-16 09:54:00
  • asp之家 网络编程 m.aspxhome.com