仓酷云

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

[学习教程] ASP编程:浅谈ASP程序计划中数据库文件挪用的捷径...

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

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

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

x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。程序|计划|数据|数据库  弁言
  
  本文针对ASP程序计划中最基本、也是最关头的部分"数据库文件的挪用"举行申明,同时谈谈ASP程序计划中数据库文件挪用的一些技能。
  
  ASP简介
  
  ASP(ActiveServerPages)是微软于1996年推出的Web使用程序开辟手艺,它是一种剧本言语、ActiveX组件及HTML言语等的综合,微软把它形貌为"一个服务器的剧本情况,在这里能够天生和运转静态的、交互的、高功能的Web服务器使用程序"。其次要功效是为天生静态的、交互式的Web服务器使用程序供应一种功效壮大的体例或手艺。其特性是命令和剧本都在服务器中注释实行,然后送到客户端扫瞄器的内容只是尺度的HTML页面。其长处是程序计划复杂易懂,并且便利快速。ASP在国际的使用已十分广泛,相称一部分的静态网站都使用了ASP手艺。
  
  ASP数据库文件的挪用
  
  固然分歧的体系大概安装分歧的数据库驱动程序,但一样平常的服务器体系都基础撑持IIS4.0/5.0,以是服务器体系上最少会有MicrosoftAccessDriver、MicrosoftODBCforOracle、SQLServer等3种数据库驱动程序。因而,服务器体系最少可使用Access、Oracle、SQLServer等3种数据库来处置ASP网页数据库计划。因为MicrosoftAccess97/2000属于微软的Office系列之一,且界面和Office系列软件类似,进修起来基础没甚么停滞,因而,本文将从初学者进门的角度,利用Access数据库文件来举行ASP程序计划。
  
  经由过程Access使用程序制造如的数据库文件(friend.mdb)
  

  
  
  那末,ASP程序计划中挪用该数据库文件有两种体例,一种为间接在"把持面板"的"数据源(ODBC)"长进行手工设置;别的一种是编程,经由过程绝对路径挪用数据库文件,这类体例可合用在任何一台服务器上而不必再举行设置。第一种体例较为复杂平安,本文所谈的是第二种体例。
  
  上面列出ASP程序计划中一样平常读取数据库文件中表纪录的办法:
  
  01:<HTML><BODY>
  02:<!--#includefile="adovbs.inc"-->
  03:<%
  04: ’利用ASP的Connection工具翻开数据库,数据库文件为上图的<Friend.mdb>’
  05: DimobjConn
  06: SetobjConn=Server.CreateObject("ADODB.Connection")
  07: objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"&_
  08:   "DataSource="&Server.MapPath("Friend.mdb")
  09: objConn.Open
  10: 读取"data"表的纪录,然后寄存在Recordset工具
  11: DimobjRS
  12: SetobjRS=Server.CreateObject("ADODB.Recordset")
  13: ObjRS.Open"data",objConn,adOpenKeyset,adLockOptimistic,adCmdTable
  14: ’将今朝指针所指到的纪录显现在扫瞄器上
  15: IfNotobjRS.EOFthen
  16:  Response.Write"编号:"&objRS("编号")&"<BR>"
  17:  Response.Write"姓名:"&objRS("姓名")&"<BR>"
  18:  Response.Write"性别:"&objRS("性别")&"<BR>"
  19: Else
  20:  Response.Write"抵达数据库的开头,已显现完一切切合前提的纪录"
  21: EndIf
  22:  ’封闭数据库毗连并开释工具实例
  23:  ObjRS.Close
  24:  SetobjRS=Nothing
  25:  ObjConn.Close
  26:  SetobjConn=Nothing
  27:%>
  28:</BODY></HTML>
  
  上述代码为ASP编程中一样平常翻开Access数据库文件的计划步骤。
  
  数据库文件挪用的技能
  
  (1)现实上,不管换成哪一个Access数据库,翻开数据库毗连与读取表纪录的步骤是不异的,个中的变量在于数据库文件的称号及表的称号,以是能够将上述程序的第3~13行改写成函数的情势,并存成一个文件如:ADOFunctions.asp,往后要翻开某个数据库文件的话,就把该文件ADOFunctions.asp装(include)出去,代码以下:
  
  <%
  DimobjConn
  ’变量Filename为数据库文件名,变量TableName为表名
  FunctionGetRecordset(FileName,TableName)
  ’利用ASP的Connection工具翻开数据库
  SetobjConn=Server.CreateObject("ADODB.Connection")
  objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"&_
  "DataSource="&Server.MapPath("Filename")
  objConn.Open
  ’读取表的纪录,然后寄存在Recordset工具"objRS"
  DimobjRS
  SetobjRS=Server.CreateObject("ADODB.Recordset")
  ObjRS.OpenTableName,objConn,adOpenKeyset,adLockOptimistic,adCmdTable
  EndFunction
  %>
  
  由上述代码可知,函数名为GetRecordSet,其前往值是寄存了表纪录的Recordset工具实例,存成文件名为ADOFunctions.asp。如今,使用该文件就能够读取任何数据库文件的纪录了。如一样平常读取数据库的编程可简化以下:
  
  <HTML><BODY>
  <!--#Includefile="adovbs.inc"-->
  <!--#includefile="ADOFunctions.asp"-->
  <%
  ’挪用GetRecordset函数获得一个Recordset工具实F例,然后指派给变量objRS
  DimobjRS
  SetobjRS=GetRecordset("Friend.mdb","data")
  ’将今朝指针所指到的纪录显现在扫瞄器上
  IfNotobjRS.EOFThen
  Response.Write"编号:"&objRS("编号")&"<BR>"
  Response.Write"姓名:"&objRS("姓名")&"<BR>"
  Response.Write"性别:"&objRS("性别")&"<BR>"
  Else
  Response.Write"抵达数据库的开头,已显现完一切切合前提的纪录"
  EndIf
  ’封闭数据库毗连并开释工具实例
  ObjRS.Close
  SetobjRS=Nothing
  ObjConn.Close
  SetobjConn=Nothing
  %>
  </BODY></HTML>
  
  因而,只需在这句代码SetobjRS=GetRecordset("Friend.mdb","data")中改动数据库称号和表称号就能够挪用任何Access数据库文件了,固然,要注重的是,前面的数据库中每一个表的字段名必定要婚配。
  
  (2)别的,不管换成哪一个Access数据库,翻开数据库毗连与选择表纪录的步骤也是不异的,个中的变量在于SQL语句(如:"SELECT*FROMdata")、数据库文件的称号及表的称号。因而一样事理,能够将这3个变量作为函数的参数,撰写GetSQLRecordset函数,并存成文件名为ADOSQLFunctions.asp,往后要用到的话,只需在程序的最后面把这个文件Include出去,就能够使用GetSQLRecordset函数翻开数据库毗连,同时也举行选择表纪录,该函数的前往值是寄存了切合SQL语句的Recordset工具实例。
  
  代码以下:
  
  <%
  DimobjConn
  DimGetSQLRecordset
  FunctionGetSQLRecordset(strSQL,FileName,TableName)
  ’利用ASP的Connection工具翻开数据库
  
  SetobjConn=Server.CreateObject("ADODB.Connection")
  objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"&_
  "DataSource="&Server.MapPath("Filename")
  objConn.Open
  ’从表读取切合SQL语句的纪录并寄存在Recordset工具
  SetGetSQLRecordset=Server.CreateObject("ADODB.Recordset")
  GetSQLRecordset.Open_strSQL,objConn,adOpenKeyset,adLockOptimistic,adCmdText
  EndFunction
  %>
  
  上述代码中函数称号为:GetSQLRecordset,文件名为ADOSQLFunctions.asp。
  
  如今,使用该文件就能够挪用任何Access数据库的毗连,同时对表纪录举行选择的操纵。以Friend.mdb文件为例,列出表data中一切的纪录,程序代码以下:
  
  <HTML><BODY>
  <!--#includefile="adovbs.inc"-->
  <!--#includefile="ADOSQLFunctions.asp"-->
  <%
  DimobjRS
  SetobjRS=GetSQLRecordset("SELECT编号,姓名,性别from_data","Friend.mdb","data")
  DoWhileNotobjRS.EOF
  Response.Write"编号:"&objRS("编号")&"<BR>"
  Response.Write"姓名:"&objRS("姓名")&"<BR>"
  Response.Write"性别:"&objRS("性别")&"<BR>"
  Loop
  
  objRS.Close
  SetobjRS=Nothing
  ObjConn.Close
  SetobjConn=Nothing
  %>
  </BODY></HTML>
  
  小结
  
  在ASP编程中,使用好函数常常能够对我们的程序代码复杂了然化,读取层次也简单保护,同时也可制止大批的反复冗杂的代码。像上述的情形,若只是复杂的与数据库毗连,则用第一种情形,将文件ADORecordset.asp装(include)出去就能够了,若要对数据库中某个表的纪录举行选择或其他SQL语句操纵,则用第二种情形,将文件ADOSQLRecordset.asp装出去就能够了。Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;
兰色精灵 该用户已被删除
沙发
发表于 2015-1-19 05:25:18 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
莫相离 该用户已被删除
板凳
发表于 2015-1-27 22:37:27 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
海妖 该用户已被删除
地板
发表于 2015-2-12 17:15:10 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
冷月葬花魂 该用户已被删除
5#
发表于 2015-3-3 04:40:26 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
因胸联盟 该用户已被删除
6#
发表于 2015-3-11 09:51:15 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
谁可相欹 该用户已被删除
7#
发表于 2015-3-18 07:28:09 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
活着的死人 该用户已被删除
8#
发表于 2015-3-25 14:17:31 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 00:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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