仓酷云

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

[学习教程] ASP网站制作之ASP中使用Command工具挪用MSSQL存储历程...

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:13:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。command|command工具|sql|存储历程  良多文章都先容过,在ASP中挪用MSSQL存储历程(StoredProcedure)的先容。可使用两种办法:使用recordset工具,大概间接用command工具。

  recordset工具相称复杂,熟习Asp的都能上手操纵,这里复杂做个实例:
  Mssql中创建存储历程SP_UserList:
CREATEPROCEDURESP_UserList
@Uidint
AS
select*fromUserswhereUid=@Uid
return
GO

  在SQLServer中实行存储历程:
declare@Uidint
executeSP_UserList1

  利用recordset工具挪用:
Uid=1
setrs=server.createobject("adodb.recordset")
sql="execSP_UserList"&Uid&""
rs.opensql,conn,1,1

  大概:
Uid=1存储历程的输出参数,为简化程序,间接设置该值
sql="SP_UserList"&Uid&""
Setrs=Conn.Execute(sql)大概Setrs=Conn.Execute("execSP_UserList"&Uid&"")

  假如改用command工具来挪用存储历程,则必需先加载adovbs.inc文件(文件adovbs.inc可在C:ProgramFilesCommonFilesSystemADO下找到):
<!--必需加载adovbs.inc文件,不然将堕落-->
<!--#includefile="adovbs.inc"-->
-----创建Connection工具----------
setConn=Server.CreateObject("Adodb.connection")
Conn.Open"driver={sqlserver};server=localhost;uid=sa;pwd=;database=Mydbase;"

Uid=1
-----创建Command工具-----------
setComm=server.createobject("adodb.command")
Comm.ActiveConnection=Conn
Comm.CommandText="SP_UserList"存储历程称号,指定要实行的是一个存储历程
Comm.CommandType=4adCmdStoredProc=4,其为StoredProcedure

-----筹办StoredProcedure的参数-------
Comm.Parameters.AppendComm.CreateParameter("@Uid",adInteger,adParamInput,4,Uid)命令格局Setparameter=command.CreateParameter(Name,Type,Direction,Size,Value)

-----大概利用以下的办法界说StoredProcedure的参数:先创立输出参数工具,然后把参数加到参数汇合-------
SetCommFirstParam=Comm.CreateParameter("@Uid",adInteger,adParamInput,4,Uid)创立输出参数工具
Comm.Parameters.AppendCommFirstParam把参数加到参数汇合

-----实行存储历程----------------------
Comm.Execute

-----上面输入参数了局----------------------
response.writeComm.Parameters("@Uid")

  最初封闭command工具:SetComm=Nothing。假如筹办StoredProcedure的参数中接纳的是创立输出参数工具的办法,则在最初还必需封闭工具:SetCommFirstParam=Nothing

  再次提醒一下,在利用command调对存储历程时,必需事后利用include加载adovbs.inc文件,不然一定堕落!!

  以下是对Command工具中利用的各属性的形貌。

  1、ActiveConnection属性:唆使指定的Command或Recordset工具以后所属的Connection工具。

  2、CommandText属性:包括要依据供应者发送的命令的文本。设置或前往包括供应者命令(如SOL语句、表格称号或存储的历程挪用)的字符串值。默许值为""(零长度字符串)。

  3、CommandType属性:唆使Command工具的范例。
  设置和前往值:  
AdCmdText:将CommandText作为命令或存储历程挪用的文本化界说举行盘算。
AdCmdTable:将CommandText作为其列全体由外部天生的SQL查询前往的表格的称号举行盘算。
AdCmdTableDirect:将CommandText作为其列全体前往的表格的称号举行盘算。
AdCmdStoredProc:将CommandText作为存储历程名举行盘算。
AdCmdUnknown:默许值。CommandText属性中的命令范例未知。
adCmdFile:将CommandText作为耐久Recordset文件名举行盘算。
AdExecuteNoRecords:唆使CommandText为不前往行的命令或存储历程(比方,拔出数据的命令)。假如检索恣意行,则将抛弃这些行且其实不前往。它老是与adCmdText或adCmdStoredProc举行组合。

  4、CreateParameter属性:利用指定属性创立新的Parameter工具。前往Parameter工具。
  语法:Setparameter=command.CreateParameter(Name,Type,Direction,Size,Value)
  参数形貌:
Name:可选,字符串,代表Parameter工具称号。
Type:可选,长整型值,指定Parameter工具数据范例。关于无效设置请拜见Type属性。
Direction:可选,长整型值,指定Parameter工具范例。关于无效设置请拜见Direction属性。
Size:可选,长整型值,指定参数值最年夜长度(以字符或字节数为单元)。
Value:可选,变体型,指定Parameter工具的值。

  在上例利用Command工具时,在“筹办StoredProcedure的参数”中,我们还能够如许完成:
Comm.Parameters.AppendComm.CreateParameter("Uid",adInteger,adParamInput,4)
Comm("Uid")=1

  如许我们在利用存储历程(StoredProcedure)参数的时分,就能够利用三种办法来完成了。

  在ASP中利用存储历程利用到的各个属性我们就复杂先容到这里。在存储历程利用过程当中,除可传送输出参数外,还可使用前往码和输入参数前往值,因为篇幅干系,笔者不再举例,有乐趣可往参考VB6.0的MSDN文档中有关ADO的部分和SQLServer2000的匡助文档。

  附:存储历程的誊写格局
CREATEPROCEDURE[具有者.]存储历程名[;程序编号]
[(参数#1,…参数#1024)]
[WITH
{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}
]
[FORREPLICATION]
AS
程序行

  Type属性
adDBTimeStamp135日期工夫数据范例
adDecimal14十进制整数值
adDouble5双精度小数值
adError10体系毛病信息
adGUID72全域性独一辨认字(Globallyuniqueidentifier)
adDispath9COM/OLE主动工具(AutomationObject)
adInteger34字节有标记整数
adIUnknown13COM/OLE工具
adLongVarBinary205年夜型2字节值
adLongVarChar201年夜型字符串值
adLongVarWChar203年夜型未编码字符串
adNumeric131十进制整数值
adSingle4单精度浮点小数
adSmallInt22字节有标记整数
adTinyInt161字节有标记整数
adUnsignedBigInt218字节无标记整数
adUnsignedInt194字节无标记整数
adUnsignedSmallInt182字节无标记整数
adUnsignedTinyInt171字节无标记整数
adUserDefined132用户自界说数据范例
adVariant12OLE工具
adVarBinary204双字节字符变量值
adVarChar200字符变量值
advarchar202未编码字符串变量值
adWchar130未编码字符串

  Direction属性
称号值整数值功效
adParamInput1同意数据输出至该参数傍边
adParamOutput2同意数据输入至该参数傍边
adParamInputOutput3同意数据输出、输入至该参数傍边
adparamReturnValue4同意从一子程序中前往数据至该参数傍边写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)
只想知道 该用户已被删除
沙发
发表于 2015-1-19 05:10:36 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
分手快乐 该用户已被删除
板凳
发表于 2015-1-27 19:29:35 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
愤怒的大鸟 该用户已被删除
地板
 楼主| 发表于 2015-2-5 14:11:48 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
不帅 该用户已被删除
5#
发表于 2015-2-12 05:00:13 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
活着的死人 该用户已被删除
6#
发表于 2015-3-2 23:31:49 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-11 07:28:09 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-17 23:10:20 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
山那边是海 该用户已被删除
9#
发表于 2015-3-25 07:34:55 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 01:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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