仓酷云

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

[学习教程] ASP编程:利用ASP存储历程的办法

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

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

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

x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。本讲将次要利用MicrosoftSQLServer7.0数据库,先创建一个毗连文件AdoSQL7.asp备用,今后用到时不再出格申明。1、利用Command工具和Parameter工具传送参数

本讲将次要利用MicrosoftSQLServer7.0数据库,先创建一个毗连文件AdoSQL7.asp备用,今后用到时不再出格申明。

<%AdoSQL7.asp

OptionExplicit

Response.Expires=0



第一部分:创建毗连

DimCnn,StrCnn

SetCnn=Server.CreateObject("ADODB.Connection")

StrCnn="Provider=sqloledb;UserID=sa;Password=;InitialCatalog=pubs;DataSource=ICBCZJP"

Cnn.OpenStrCnn

%>

注重:本人利用时要将DataSource设为你的数据库服务器地点的呆板名。

别的,之前利用Access数据库时,用MicrosoftAccess97能够很便利的检察字段及数据,而利用SQLServer数据库,特别是其实不在数据库服务器,而是在另外一台呆板上调试ASP剧本时,要检察字段及数据便需别的安装工具,这里向你供应一个工具:Msqry32.exe(MicrosoftQuery),这个文件随Office97安装,一样平常位于目次“MicrosoftOfficeOffice”下。

例wuf70.asp:

<%@LANGUAGE="VBSCRIPT"%>

<!--#includefile="AdoSQL7.asp"-->

<!--#includefile="adovbs.inc"-->

<%wuf70.asp

DimcmdTest,prmTest,rsTest

创立Command工具

SetcmdTest=Server.CreateObject("ADODB.Command")

‘Recordset、Command工具都能够经由过程ActiveConnection属性来毗连Connection工具

cmdTest.ActiveConnection=Cnn

SQL命令-含两个参数,用?暗示

cmdTest.CommandText="UpdatejobsSetjob_desc=?Wherejob_id=?"

设命令范例为SQL语句

cmdTest.CommandType=adCmdText

Prepared属性决意是不是将SQL命令先行编译,将其设为True,能够加速运转

cmdTest.Prepared=True



创立Parameter工具

SetprmTest=cmdTest.CreateParameter("job_desc",adVarChar,adParamInput,50,"收集")

将数据追加到Parameters数据汇合中

cmdTest.Parameters.AppendprmTest



SetprmTest=cmdTest.CreateParameter("job_id",adSmallInt,adParamInput,,"12")

cmdTest.Parameters.AppendprmTest



实行修正&ndash;不必要前往了局,复杂的利用cmdTest.Execute就能够了

cmdTest.Execute



从头设置参数运转&ndash;即可修正另外一条数据

cmdTest.Parameters("job_id")="1"

cmdTest.Parameters("job_desc")="测试"

cmdTest.Execute



从头设置参数运转

cmdTest("job_id")="14"

cmdTest("job_desc")="金融"

cmdTest.Execute



SetrsTest=Cnn.Execute("Selectjob_id,job_descFromjobs")

WhileNotrsTest.EOF

Response.WritersTest(0)&rsTest(1)&"<br>"

rsTest.MoveNext

Wend



Cnn.close:SetprmTest=Nothing

SetcmdTest=Nothing:SetCnn=Nothing

%>

剖析:

1.Command工具的CreateParameter办法用来为SQL命令或存储历程创建参数工具,共有五个参数(五个参数都是可选项):

第一个参数:参数工具的称号;

第二个参数:参数工具的数据范例,品种太多,仍是参考ADO匡助吧,这里adVarChar(字符串值)、adSmallInt(2字节带标记整型);

第三个参数:参数范例。能够是:adParamInput(唆使输出参数)、adParamOutput(唆使为输入参数)、adParamReturnValue(唆使为前往值)、adParamUnknown(唆使参数范例没法断定)、adParamInputOutput(唆使为输出/输入参数);

第四个参数:参数的数据长度,最好指定为与数据库中对应字段长度相称,以避免利用时堕落,特别数据范例为VarChar时,假如是整型或日期型则不用供应该值;

第五个参数:参数的设置初值。

2.cmdTest.Parameters.Append办法增添一个Parameter工具到Parameters数据汇合中,从本例中也可看到怎样利用多个参数。

3.从本例能够看到,只必要从头设定输出参数,即可实行对其他数据的修正,十分便利,这一思绪在编程时也是最经常使用的办法之一。

4.重设参数,既可使用cmdTest.Parameters,也能够省略为cmdTest("job_id")。



2、在ASP中利用存储历程

甚么是存储历程(存储历程位于数据库服务器中,是一个SQL语句的汇合,可包括一个或多个SQL语句)、如何创立存储历程不属于本讲座的内容,本讲座次要是举例申明在ASP中怎样挪用存储历程。

利用存储历程的优点是年夜年夜的,存储历程比在ASP剧本中运转SQL命令效力更高;能够进步全体功能并加重收集负载(削减了在收集服务器和数据服务器之间的交互);能够优化ASP代码和加强代码天真性等等。

(一)在存储过程当中利用输出参数

本例中利用的存储历程为SQLServer7.0自带的“byroyalty”,内里的一条SQL语句十分复杂,不过是多了一个CREATEPROCEDUREbyroyalty,而且有一个输出参数为@percentage:

CREATEPROCEDUREbyroyalty@percentageint

AS

selectau_idfromtitleauthor

wheretitleauthor.royaltyper=@percentage

servebywww.cidu.net

例wuf71.asp
<p>无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;
乐观 该用户已被删除
沙发
发表于 2015-1-18 20:20:11 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-25 13:25:25 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
因胸联盟 该用户已被删除
地板
发表于 2015-2-2 22:16:16 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
若相依 该用户已被删除
5#
发表于 2015-2-8 12:49:24 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
小魔女 该用户已被删除
6#
发表于 2015-2-25 15:25:14 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-8 00:28:26 | 只看该作者
那么,ASP.Net有哪些改进呢?
兰色精灵 该用户已被删除
8#
发表于 2015-3-15 18:00:44 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
透明 该用户已被删除
9#
发表于 2015-3-22 03:09:16 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 10:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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