仓酷云
标题:
ASP网站制作之几例在ASP存储历程的利用办法
[打印本页]
作者:
只想知道
时间:
2015-1-16 23:35
标题:
ASP网站制作之几例在ASP存储历程的利用办法
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看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
实行修正?不必要前往了局,复杂的利用cmdTest.Execute就能够了
cmdTest.Execute
从头设置参数运转?即可修正另外一条数据
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
<%@LANGUAGE=VBScript%>
<!--#includefile="AdoSQL7.asp"-->
<!--#includefile="adovbs.inc"-->
<%wuf71.asp
DimcmdTest,prmTest,rsTest
SetcmdTest=Server.CreateObject("ADODB.Command")
cmdTest.CommandText="byroyalty"存储历程名
设命令范例为存储历程
cmdTest.CommandType=adCmdStoredProc
创立Parameter工具</p>因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。
作者:
admin
时间:
2015-1-20 10:14
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者:
兰色精灵
时间:
2015-1-27 08:25
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者:
灵魂腐蚀
时间:
2015-1-30 22:32
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
作者:
活着的死人
时间:
2015-2-2 10:56
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
作者:
海妖
时间:
2015-2-7 18:11
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者:
变相怪杰
时间:
2015-2-22 20:16
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
作者:
谁可相欹
时间:
2015-3-7 02:10
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者:
透明
时间:
2015-3-14 04:02
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者:
冷月葬花魂
时间:
2015-3-21 00:17
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2