|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。1、先先容一下甚么是存储历程
存储历程是使用SQLServer所供应的Tranact-SQL言语所编写的程序。Tranact-SQL言语是SQLServer供应专为计划数据库使用程序的言语,它是使用程序和SQLServer数据库间的次要程序式计划界面。它比如Oracle数据库体系中的Pro-SQL和Informix的数据库体系可以中的Informix-4GL言语一样。这类言语次要供应以下功效,让用户能够计划出切合援用需求的程序:
1)、变量申明
2)、ANSI兼容的SQL命令(如Select,Update….)
3)、一样平常流程把持命令(if…else…、while….)
4)、外部函数
2、存储历程的誊写格
CREATEPROCEDURE[具有者.]存储历程名[;程序编号]
[(参数#1,…参数#1024)]
[WITH
{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}
]
[FORREPLICATION]
AS程序行
个中存储历程名不克不及凌驾128个字。每一个存储过程当中最多设定1024个参数
(SQLServer7.0以上版本),参数的利用办法以下:
@参数名数据范例[VARYING][=内定值][OUTPUT]
每一个参数名前要有一个“@”标记,每个存储历程的参数仅为该程序外部利用,参数的范例除IMAGE外,其他SQLServer所撑持的数据范例都可以使用。
[=内定值]相称于我们在创建数据库时设定一个字段的默许值,这里是为这个参数设定默许值。[OUTPUT]是用来指定该参数是既有输出又有输入值的,也就是在挪用了这个存储历程时,假如所指定的参数值是我们必要输出的参数,同时也必要在了局中输入的,则该项必需为OUTPUT,而假如只是做输入参数用,能够用CURSOR,同时在利用该参数时,必需指定VARYING和OUTPUT这两个语句。
例子:
CREATEPROCEDUREorder_tot_amt@o_idint,@p_totintoutputAS
SELECT@p_tot=sum(Unitprice*Quantity)
FROMorderdetails
WHEREordered=@o_id
例子申明:
该例子是创建一个复杂的存储历程order_tot_amt,这个存储历程依据用户输出的订单ID号码(@o_id),由订单明细表(orderdetails)上钩算该订单发卖总额[单价(Unitprice)*数目(Quantity)],这一金额经由过程@p_tot这一参数输入给挪用这一存储历程的程序
3、在SQLServer中实行存储历程
在SQLServer的查询剖析器中,输出以下代码:
declare@tot_amtint
executeorder_tot_amt1,@tot_amtoutput
select@tot_amt
以上代码是实行order_tot_amt这一存储历程,以盘算出订单编号为1的订单发卖金额,我们界说@tot_amt为输入参数,用来承接我们所要的了局
4、在ASP中挪用存储历程
<!--必需加载adovbs.inc文件,不然将堕落-->
<!--#includefile="adovbs.inc"-->
<%
dimobjCnn
dimobjCmd
dimRs
consto_id=112
-----创建Connection工具----------
setobjCnn=Server.CreateObject("Adodb.connection")
objCnn.Open"driver={sqlserver};server=localhost;uid=sa;pwd=cncanet;database=check;"
-----创建Command工具-----------
setobjCmd=Server.CreateObject("Adodb.Command")
objCmd.ActiveConnection=objCnn
objCmd.CommandText="order_tot_amt"指定存储历程称号
objCmd.CommandType=adCmdStoredProc其为StoredProcedure
-----筹办storedprocedure的参数-------
objCmd.Parameters.Append_
objCmd.CreateParameter("o_id",adInteger,adParamInput,,o_id)
objCmd.Parameters.Append_
objCmd.CreateParameter("p_tot",adBigInt,adParamOutput,,0)
-----实行存储历程----------------------
objCmd.Execute
-----输入参数和处置了局--------------
foreachparminobjCmd.Parameters
Response.Writeparm.name&"="&trim(parm)&"<br>"
next
%>
以上代码在Win2000+IIS5.0+SQLServer2000中经由过程
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。 |
|