透明 发表于 2015-1-16 23:13:16

ASP教程之国民银行网站建立中数据库存储历程的调...

ASP脚本是采用明文(plaintext)方式来编写的。存储历程|数据|数据库|网站建立1、弁言
跟着国民银行中央支行盘算机收集建立的慢慢开展和内联网二期工程的落实到位,多半中央支行已创建了外部收集(Intranet),供应文件传输、电子邮件、及复杂WEB等相干收集服务。
关于国民银行中央支行而言,网站的建立必要报表、台帐等各类数字信息,呈报、剖析等各类笔墨信息,公函处置、集会关照等各类办公主动化信息,声响、图像、视频集会等各类多媒体信息。而怎样充实使用现有信息资本和盘算机收集手艺,建立国民银行外部的信息网站,为金融羁系和政策赐与实时、正确、多样的信息服务,很年夜水平上离不开数据库的撑持。同时,国民银行网站的建立是一项体系工程和标记性工程,它代表一个行的抽象,表现科技兴行的精力。建立和保护网站触及的部门浩瀚,必要和谐的干系良多,手艺庞大水平高,这就急切必要使用数据库手艺建立一个静态的、交互的、高效的网站来满意信息化时期的请求。
数据库存储历程(Stored-Procedure)是诸如SYBASE、ORACLE、INFORMIX、MICROSOFTSQLSERVER等年夜型数据库一种成熟的手艺,是由一些或多个SQL语句和把持语句构成的被封装起来的历程,它驻留在数据库中,能够被客户使用程序挪用,也能够从另外一个历程或触发器挪用。经由过程利用变量和前提,它的参数能够被传送和前往。在B/S(扫瞄器/服务器)形式中,网站的客户端在实行庞大的义务,处置年夜而庞大的SQL语句时,存储历程供应了诸多便利的地方和长处,可以满意网站建立的必要。
2、接纳存储历程的长处
1、运转速率加速
在网站数据库服务器中,一样平常交互式的SQL命令,每次实行前数据库服务器都要为其创建预编译的历程,而存储历程在第一次实行以后,经由了优化和编译好的历程,贮存在高速缓存当中,在接上去的运转中能够间接从高速缓存中实行,省往了今后实行的优化和编译阶段,节俭了实行历程的大批工夫,利用存储历程从而加速了实行速率。
2、收集负荷削减
当客户端收回实行存储历程的哀求时,只要实行存储历程的命令在外部收集上传送,当它们抵达数据库服务器时,运转存储历程,客户端在网上只吸收前往了局或形态信息,以是使得客户机与服务器的通信量降至最小,年夜年夜削减了收集负荷。延长了用户请求的响应工夫,制止了用户单调的守候。
3、团队开辟便利
网站程序体例过程当中,PHP、ASP等挪用存储历程可以削减在程序开辟中机关庞大SQL语句的难度,因为存储历程的可重用、可共享性,使得存储历程可被多处反复利用,也能够被多个用户共享,在开辟中重复利用,给网站的团队开辟带来了极年夜的便利,并且使站点更容易于保护和更新。
4、平安机制宁神
存储历程自己有很强的平安机制,只要具有响应的体系权限才干够挪用响应的存储历程,大概只会见存储历程而不克不及够会见个中触及的表或视图,只经由过程存储过程当中所给出的功效来直接操纵数据库。在存储历程的代码中能够包括对信息和数据的正当性反省、对营业划定规矩请求的各类完全性反省等,这无疑给那些平安性较差的网站平台带来了福音。
5、服务用户中意
存储历程能够充实使用数据视点会合的准绳,利用户把注重力会合在所体贴的数据上、简化用户的数据查询操纵、使分歧的用户可以多角度“对待”统一数据,可以用存储历程创建十分庞大的查询,以十分庞大的体例更新(update、delete、select、insert)数据库。同时存储历程可以主动对庞大或敏感的事件处置,对某些表举行各类处置,能够包管这些表的数据完全性。如许做,中意了用户。
3、挪用存储历程的办法
上面以某中央支行金融信息港用户信息公布登录模块为例,分离实践开辟事情中的一些履历申明怎样挪用存储历程
1、网站平台服务器端为WinNT4.0、SERVERPACK5、IIS5.0,ASP使用程序,MSSQLSERVER7.0为背景数据库
2、相干表Department中保留了单元号(Dep_id)单元称号(Dep_name)和暗码(Dep_passwd)。
3、完成功效用户从下拉菜单当选择用户称号,输出暗码,登录。假如有单元用户具有指定的暗码,输入参数将前往“pass",不然,前往“Invalid"。
4、实例申明
(1)存储历程sp_CheckPwd,反省用户是不是输出了正当的暗码,创建存储历程,能够从MicrosoftSQLSever程序组中启动ISQL/w。然后,在查询窗口中输出存储历程。
(2)用户登录界面login.asp,利用一般的SQL语句和利用存储历程举行对照。
(3)查验暗码是不是准确Checklogin.asp,在个中,利用界说的存储历程。
(4)数据库毗连文件conn.asp
5、实例
(1)/*存储历程实例*/
CREATEPROCEDUREsp_CheckPwd
@CHKDepidVARCHAR(30),@CHKPassVARCHAR(30),
@ISValidCHAR(8)OUTPUT  
AS
IFEXISTS(SELECTDep_idFROMDepartment
WHEREDep_id=@CHKDepidANDDep_passwd=@CHKPass)
SELECT@ISVaid="pass"
ELSE
SELECT@ISValid="Invalid"
/*存储历程吸收两个输出参数。输出参数@CHKDepid向存储历程传送一个单元ID号。@CHKPass向存储历程传送一个单元用户暗码。假如表中存在这个单元ID号和暗码组合,则输入参数将前往“pass",不然,前往“Invalid"*/
(2)//login.asp
//用户登录界面
<!--#includefile="conn.asp"-->
包括数据库毗连界说的文件
<html>
<head><title>单元用户登录</title></head>
<body>
<%
dimrs,dept_sql
setrs=server.createobject("adodb.recordset")
创立纪录集
dept_sql="selectdep_id,dep_namefromDepartment"
利用尺度SQL语句,将一切的单元ID号和单元用户的称号取回到客户端
rs.opendept_sql,conn,1,1
%>
<formmethod="post"action="chklogin.asp"name="frmNewDepartment">
单元用户名:
<selectname="DepartmentId"size="1">
<%
dowhilenotrs.eof
response.write"<optionvalue="+cstr(rs("dep_id"))+">"+rs("dep_name")+"</option>"+chr(13)+chr(10)
rs.movenext
loop
%>
创建列表工具,显现单元称号,前往单元ID值
</select>
密码:
<inputtype="password"name="DepartmentUserPwd">
<inputtype="submit"name="Submit1"value="断定">
<inputtype="reset"name="Submit2"value="重写">
</form>
</body>
</html>
(3)//Checklogin.asp
//查验登录的单元用户的正当性,前往值。同时挪用存储历程sp_CheckPwd

<!--#includefile="conn.asp"-->
包括数据库毗连界说的文件
<%
SetcmdTemp=Sever.CreateObject("ADODB.Command")
创建命令工具
SetcmdTemp.ActiveConnection=Conn
把命令和翻开的毗连接洽起来
cmdTemp.CommandType=adCMdStoredProc
指定要实行的是一个存储历程
cmdTemp.CommandText="sp_CheckPwd"
援用存储历程指命名称
SettmpFirstParam=cmdTemp.CreateParameter
("DepartmentUserPwd",adVarChar,adParamInput,30)
创立输出参数工具,命令工具的CreateParameter()办法创建输出参数,同理能够创建输出参数工具DepartmentId,工具的办法带有四个参数,必要注重区分
SettmpThirdParam=cmdTemp.CreateParameter
("RetValue",adChar,adParamOutput,8)
创立前往参数工具
cmdTemp.Parameters.Append.tmpFirstParam
把第一个参数追加到参数汇合中,同理顺次追加其他参数到汇合中
cmdTemp("DepartmentId")=Request.FORM("DepartmentId")
获得输出参数,从哀求的login.asp的FORM中取得
cmdTemp("DepartmentUserPwd")=Request.FORM("DepartmentUserPwd")
cmdTemp.Execute
挪用Execute办法实行存储历程
%>
TheCheckResultis<%=cmdTemp("RetValue")%>
输入前往值,这是最为复杂的使用,在实践中能够依据需求,举行响应开辟
<%
DataConn.Close
封闭数据库毗连
%>
(4)//conn.asp
//数据库毗连界说文件
<%
dimconn
dimconnstr
setconn=server.createobject("ADODB.CONNECTION")
创建毗连工具
connstr="driver={SQLServer};server=xx.xxx.xx.xx;uid=fzxxg_u</p>强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。

冷月葬花魂 发表于 2015-1-20 08:18:03

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

再见西城 发表于 2015-1-21 16:03:19

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

灵魂腐蚀 发表于 2015-1-27 06:16:30

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

谁可相欹 发表于 2015-2-5 00:24:43

掌握asp的特性而且一定要知道为什么。

精灵巫婆 发表于 2015-2-11 00:05:02

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

飘灵儿 发表于 2015-3-1 18:14:31

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

仓酷云 发表于 2015-3-10 21:48:48

下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。

分手快乐 发表于 2015-3-17 11:07:16

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

只想知道 发表于 2015-3-24 08:01:07

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
页: [1]
查看完整版本: ASP教程之国民银行网站建立中数据库存储历程的调...