仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 491|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计带前往纪录集的存储历程-ASP挪用存储过...

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:49:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了存储历程|纪录集假定有以下存储历程(本文的目标不在于报告T-SQL语法,以是存储历程只给出代码,不作申明):

/*SP1*/
CREATEPROCEDUREdbo.getUserList
as
setnocounton
begin
select*fromdbo.[userinfo]
end
go
  以上存储历程获得userinfo表中的一切纪录,前往一个纪录集。经由过程command工具挪用该存储历程的ASP代码以下:

**经由过程Command工具挪用存储历程**
DIMMyComm,MyRst
SetMyComm=Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection=MyConStrMyConStr是数据库毗连字串
MyComm.CommandText="getUserList"指定存储历程名
MyComm.CommandType=4标明这是一个存储历程
MyComm.Prepared=true请求将SQL命令先行编译
SetMyRst=MyComm.Execute
SetMyComm=Nothing
  存储历程获得的纪录集赋给MyRst,接上去,能够对MyRst举行操纵。

  在以上代码中,CommandType属性标明哀求的范例,取值及申明以下:

  -1标明CommandText参数的范例没法断定
  1标明CommandText是一样平常的命令范例
  2标明CommandText参数是一个存在的表称号
  4标明CommandText参数是一个存储历程的称号

  还能够经由过程Connection工具或Recordset工具挪用存储历程,办法分离以下:

**经由过程Connection工具挪用存储历程**
DIMMyConn,MyRst
SetMyConn=Server.CreateObject("ADODB.Connection")
MyConn.openMyConStrMyConStr是数据库毗连字串
SetMyRst=MyConn.Execute("getUserList",0,4)最初一个参断寄义同CommandType
SetMyConn=Nothing

**经由过程Recordset工具挪用存储历程**
DIMMyRst
SetMyRst=Server.CreateObject("ADODB.Recordset")
MyRst.open"getUserList",MyConStr,0,1,4
MyConStr是数据库毗连字串,最初一个参断寄义与CommandType不异
  2.没有输出输入的存储历程

  请看以下存储历程:

/*SP2*/
CREATEPROCEDUREdbo.delUserAll
as
setnocounton
begin
deletefromdbo.[userinfo]
end
go
  该存储历程删往userinfo表中的一切纪录,没有任何输出及输入,挪用办法与下面讲过的基础不异,只是不必获得纪录集:

**经由过程Command工具挪用存储历程**
DIMMyComm
SetMyComm=Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection=MyConStrMyConStr是数据库毗连字串
MyComm.CommandText="delUserAll"指定存储历程名
MyComm.CommandType=4标明这是一个存储历程
MyComm.Prepared=true请求将SQL命令先行编译
MyComm.Execute此处不用再获得纪录集
SetMyComm=Nothing
  固然也可经由过程Connection工具或Recordset工具挪用此类存储历程,不外创建Recordset工具是为了获得纪录集,在没有前往纪录集的情形下,仍是使用Command工具吧。

  3.有前往值的存储历程

  在举行相似SP2的操纵时,应充实使用SQLServer壮大的事件处置功效,以保护数据的分歧性。而且,我们大概必要存储历程前往实行情形,为此,将SP2修正以下:

/*SP3*/
CREATEPROCEDUREdbo.delUserAll
as
setnocounton
begin
BEGINTRANSACTION
deletefromdbo.[userinfo]
IF@@error=0
begin
COMMITTRANSACTION
return1
end
ELSE
begin
ROLLBACKTRANSACTION
return0
end
return
end
go
  以上存储历程,在delete顺遂实行时,前往1,不然前往0,并举行回滚操纵。为了在ASP中获得前往值,必要使用Parameters汇合来声明参数:

**挪用带有前往值的存储历程并获得前往值**
DIMMyComm,MyPara
SetMyComm=Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection=MyConStrMyConStr是数据库毗连字串
MyComm.CommandText="delUserAll"指定存储历程名
MyComm.CommandType=4标明这是一个存储历程
MyComm.Prepared=true请求将SQL命令先行编译
声明前往值
SetMypara=MyComm.CreateParameter("RETURN",2,4)
MyComm.Parameters.AppendMyPara
MyComm.Execute
获得前往值
DIMretValue
retValue=MyComm(0)或retValue=MyComm.Parameters(0)
SetMyComm=Nothing
  在MyComm.CreateParameter("RETURN",2,4)中,各参数的寄义以下:

  第一个参数("RETURE")为参数名。参数名能够恣意设定,但一样平常应与存储过程当中声明的参数名不异。此处是前往值,我习气上设为"RETURE";

  第二个参数(2),标明该参数的数据范例,详细的范例代码请参阅ADO参考,以下给出经常使用的范例代码:

adBigInt:20;
adBinary:128;
adBoolean:11;
adChar:129;
adDBTimeStamp:135;
adEmpty:0;
adInteger:3;
adSmallInt:2;
adTinyInt:16;
adVarChar:200;
  关于前往值,只能取整形,且-1到-99为保存值;

  第三个参数(4),标明参数的性子,此处4标明这是一个前往值。此参数取值的申明以下:

  0:范例没法断定;1:输出参数;2:输出参数;3:输出或输入参数;4:前往值

  以上给出的ASP代码,应当说是完全的代码,也即最庞大的代码,实在

SetMypara=MyComm.CreateParameter("RETURN",2,4)
MyComm.Parameters.AppendMyPara
  能够简化为

MyComm.Parameters.AppendMyComm.CreateParameter("RETURN",2,4)使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。
再现理想 该用户已被删除
沙发
发表于 2015-1-20 05:13:47 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
乐观 该用户已被删除
板凳
发表于 2015-1-26 16:06:17 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
小魔女 该用户已被删除
地板
发表于 2015-2-4 15:57:04 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
admin 该用户已被删除
5#
发表于 2015-2-10 03:45:09 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
爱飞 该用户已被删除
6#
发表于 2015-2-28 18:47:05 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
深爱那片海 该用户已被删除
7#
发表于 2015-3-10 05:04:24 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
8#
发表于 2015-3-17 04:46:21 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-23 19:40:35 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 02:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表