仓酷云

标题: ASP教程之用ASP与ADO查询Web数据库 [打印本页]

作者: 蒙在股里    时间: 2015-1-16 22:58
标题: ASP教程之用ASP与ADO查询Web数据库
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。ado|web|数据|数据库  ASP和ADO简介

  DO中可用VBScript、JavaScript言语来把持数据库的会见(而ASP恰好是剧本言语的注释情况)和查询了局的输入;ADO中利用RecordSets工具对数据库举行操纵;能够毗连多种撑持ODBC的数据库。数据查ASP(ActiveServerPages)是一个服务器真个(Server-side)剧本实行情况,用户可用它发生和实行静态的、交互的、高功能的Web服务器使用程序。当剧本在服务器端而不是在客户端实行时,Web服务器将完成发生发往扫瞄器的HTML(HypertextMarkupLanguage)页的一切事情。
  是ASP的事情形式。当扫瞄器向Web服务器提出文件(.asp)的哀求时,一个ASP剧本就入手下手实行,这时候Web服务器挪用ASP,把该文件全体读进并实行每条命令,然后将了局以HTML页面情势送回扫瞄器。
  ADO(ActiveXDataObject,ActiveX数据工具)是一个ASP内置的ActiveX服务器组件(ActiveXServerComponent),用于数据库会见,可把它与ASP分离起来,创建供应数据库信息的网页内容,对数据库举行查询、拔出、更新、删除等操纵。
  要实行ADO,服务器端须安装Windows NT Server和Internet Information Server(IIS),而客户端只需有IE或Netscape较新版本的扫瞄器便可。站点数据库会见的几种计划
  完成Web数据库会见大抵可分为两类,一类是以Web服务器作为中介,把扫瞄器和数据源毗连起来,在服务器端实行对数据库的操纵;另外一类是把使用程序和数据库下载到客户端,在客户端实行对数据库的会见。
  1.大众网关接口CGI(CommonGatewayInterface)
  当扫瞄器收回HTTP哀求时,Web服务器实行响应的使用程序,会见站点数据库,并将查询了局以HTML格局送回到扫瞄器。这类体例有良多弱点,功效无限、开辟坚苦,且不具有事件处置(Transaction)功效,这在很年夜水平下限制了它的使用。
  2.Internet数据库毗连器IDC(InternetDatabaseConnector)
  这是一种浅易计划,对数据库的操纵仍旧放在Web端,但用户可经由过程SQL(StructuredQueryLanguage)语句对数据库举行查询、输出、更新、删除等操纵。IDC计划浅易,不必编译便可间接实行,且撑持对数据的多重查询(MultipleQuery)。
  3.先辈数据库毗连器ADC(AdvancedDataConnector)
  前两种计划中对数据库的操纵都是在服务器端举行,而ADC是在扫瞄器端实行数据查询举措。当扫瞄器提出对数据库的操纵哀求时,ADC先将响应的数据库下载到扫瞄器端,在用户端对数据库举行操纵。明显,这类计划效力很高。客户端对数据库的查询是由安装在客户真个ADCActiveXControl完成的,而这个ActiveXControl是由站点服务器主动下载并安装在客户真个。
  4.ADO与ASP
  这是一种完整的Web数据库会见计划,可把ADO与ASP分离起来,创建供应数据库信息的网页内容,在网页中实行SQL命令,对数据库举行查询、拔出、更新、删除等操纵。A询实例:港澳证件信息查询
  本例要完成的操纵是对港澳收支境数据库举行查询,客户可给出一种或几种查询前提,然后按请求显现查询了局。
  1.断定数据源
  要会见网上数据库,起首设定命据来历。在服务器上翻开"我的电脑"中的"把持面板",双击"ODBC";在"体系DSN"下选"增加",选出事后设好的数据库品种、称号和地位。这里要用到的是FoxPro数据库,数据源称号为GACX,主数据库称号为visa.dbf,编码数据库称号为zd.dbf。
  2.ADO查询数据库的利用
  ADO查询数据库的计划办法是先用Server.CreatObject获得工具"ADODB.Connection"的一个实例,并用"Open"翻开待会见的数据库:
  SetConn=Server.CreatObject("ADODB.Connection")
  Conn.Open"待会见的数据库称号"
  然后实行SQL命令,即对数据库举行操纵,这里要利用Execute命令:
  SetRS=Conn.Execute("Select...From...Where...")下一步便可对数据库举行查询操纵,要用到RecordSets工具的以下命令:
  *RS.Fildes.Count
   RecordSets的字段数
  *RS(i).Name
  第i个字段名
  *RS(i)
   第i个字段的纪录
  *RS("字段名")
   指定字段的纪录
  *RS.EOF
  是不是指向最初一个字段TrueorFalse
  *RS.MoveFirst
  指向第一笔记录
  *RS.MovePrev
  指向前一笔记录
  *RS.MoveNext
  指向后一笔记录
  *RS.MoveLast
  指向最初一笔记录
  *RS.GetRows
  将查询了局寄存在数组中,然后再从数组中读取
  *RS.Properties.Count
   失掉ADO的Connection或ResultSet的属性总数
  *RS.Properties(Item).Name失掉ADO的Connection或ResultSet的属性称号
  *RS.Properties(Item)
   失掉ADO的Connection或ResultSet的属性值
  3.详细完成
  主页面为港澳证件信息查询,对应程序为gacx.asp。查询了局以两种体例显现,一是显现次要信息――港澳证件信息查询了局列表,对应程序为gacxlb.asp;一是显现全体信息――港澳证件信息查询了局,对应程序为gacxxq.asp。假如查询前提不克不及满意时,还将显现一个提醒页面,告知用户不存在满意前提的了局,由程序gacxts.asp完成。
  依据客户供应的数据库和请求查询的各项内容创建查询、查询了局、查询了局列表页面,并给出一个复杂的提醒界面,告知用户不存在满意前提的了局,请从头查询,这些事情可用FrontPage98完成,全部页面应当做到简便小气,主题光显。程序代码在MicrosoftVisualInterDev下编写。
  上面处置编码数据库zd.dbf中的内容。从中可看到有良多带下拉框的选项,比方"性别"、"出身地"等,这些选项的内容都是从zd.dbf数据库中提掏出来的。由于有的选项内容良多,比方出境港口有101项之多,固然也可用<select><option>...</option></select>格局在HTML页面中把各个选项枚举出来,但将给程序的保护带来很年夜贫苦,一旦编码数据库的内容有变化,程序也将作良多修正。并且带下拉框的选项都是在zd.dbf中编码,往主数据库中输出数据时这些选项都只输出编码,但显现时却不克不及显现编码,必需把编码对应的汉字显现出来。这段程序代码以下(以性别为例):
  <%
  SetConn=Server.CreatObject("ADODB.Connection")
  Conn.Open"GACX"
  SetRS=Conn.Execute("SelectBC,MCFromzdWhereBCLike"se%"")
  Response.Write"<SELECTSIZE=1NAME="SEX">"DoWhileNotRS.EOF
  Response.Write"<optionvalue=‘"RS(0)">"&RS(1)
   Rs.MoveNext
  Loop
  Response.Write"</SELECT>"
  RS.Colse
  Conn.Colse
  %>
  个中,zd.dbf包括两个字段MC、BC,MC暗示待编码项,如男、女,BC暗示编码,如性别编码的前两位为"se",男用"se1"暗示,女用"se2"暗示。
  数据库查询中最主要的是怎样获得查询前提。本例中要查询的项能够分为两类:一类是输出的text类的查询前提,另外一类是从下拉框当选出来的项,在处置时要区分看待。text范例的查询前提很优点理,比方姓名,笔者输出的内容定名为"xm",假如输出的查询项不为空时就增添一个查询前提"NAME=Request.Form("xm")"便可。下拉框的处置较庞大,当下拉框选中一项时,比方性别选中男,下拉框中输出的是"se1"(但反应在数据库中时为"SEX=1",由于数据库中输出字典中带编码的项时只输出编码),就是要查询"SEX=se1"的项。处置时要把"se1"中的"1"提掏出来,用一个函数mid便可,查询前提为"SEX=mid("se1",3,1)",即从数据库中查找SEX=1的项,并把一切满意前提的项不反复地枚举出来。
  查询了局显现很简单完成,只须把查询了局的每笔记录按列表的体例显现出来便可,但在显现查询了局时要显现编码对应的汉字,就是到字典中往找编码为"se"&"1"的项所对应的编码值,程序以下:
  <tableborder="1"width="95%"bordercolor="#C0C0C0"cellspacing="0"cellpadding="0"</p>Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;
作者: 再现理想    时间: 2015-1-20 07:08
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者: 灵魂腐蚀    时间: 2015-1-21 18:38
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者: 深爱那片海    时间: 2015-1-28 05:08
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 爱飞    时间: 2015-2-5 11:08
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 小女巫    时间: 2015-2-11 10:46
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
作者: 因胸联盟    时间: 2015-3-2 11:11
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者: 不帅    时间: 2015-3-11 03:20
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: 只想知道    时间: 2015-3-17 19:19
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
作者: 海妖    时间: 2015-3-24 21:54
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2