ASP教程之存储历程先容及asp+存储历程的利用
因为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}
]
AS程序行
个中存储历程名不克不及凌驾128个字。每一个存储过程当中最多设定1024个参数
(SQLServer7.0以上版本),参数的利用办法以下:
@参数名数据范例[=内定值]
每一个参数名前要有一个“@”标记,每个存储历程的参数仅为该程序外部利用,参数的范例除IMAGE外,其他SQLServer所撑持的数据范例都可以使用。
[=内定值]相称于我们在创建数据库时设定一个字段的默许值,这里是为这个参数设定默许值。是用来指定该参数是既有输出又有输入值的,也就是在挪用了这个存储历程时,假如所指定的参数值是我们必要输出的参数,同时也必要在了局中输入的,则该项必需为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的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
页:
[1]