仓酷云

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

[学习教程] ASP教程之存储历程先容及asp+存储历程的利用

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

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

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

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的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-19 17:38:10 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
莫相离 该用户已被删除
板凳
发表于 2015-1-25 16:56:39 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
蒙在股里 该用户已被删除
地板
发表于 2015-2-3 11:53:16 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
5#
发表于 2015-2-8 20:33:59 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
山那边是海 该用户已被删除
6#
发表于 2015-3-8 12:26:43 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
金色的骷髅 该用户已被删除
7#
发表于 2015-3-15 22:59:50 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-22 17:38:37 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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