电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> 数据库
用ASP与ADO查询Web数据库
作者:网友供稿 点击:10
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
  asp和ado简介

  do中可用vbscript、javascript 语言来控制数据库的访问(而asp恰恰是脚本语言的解释环境)和查询结果的输出;ado中使用recordsets对象对数据库进行操作;可以连接多种支持od bc的数据库。数据查asp(active server pages)是一个服务器端的(server-side)脚本执行环境,用户可用它产生和执行动态的、交互的、高性能的web服务器应用程序。当脚本在服务器端而不是在客户端执行时,web服务器将完成产生发往浏览器的html(hypertext markup langua ge)页的所有工作。图1
  图1是asp的工作模式。当浏览器向web服务器提出文件(.asp)的请求时,一个asp脚本就开始执行,这时web服务器调用asp,把该文件全部读入并执行每一条命令,然后将结果以html页面形式送回浏览器。
  ado(activex data object,activex数据对象)是一个asp内置的a ctivex服务器组件(activex server component),用于数据库访问,可把它与asp结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。
  要执行ado,服务器端须安装windows nt server和internet i nformation serv er(iis),而客户端只要有ie或netscape较新版本的浏览器即可。站点数据库访问的几种方案
  实现web数据库访问大致可分为两类,一类是以web服务器作为中介,把浏览器和数据源连接起来,在服务器端执行对数据库的操作;另一类是把应用程序和数据库下载到客户端,在客户端执行对数据库的访问。
  1. 公共网关接口cgi(common gateway interface)
  当浏览器发出http请求时,web服务器执行相应的应用程序,访问站点数据库,并将查询结果以html格式送回到浏览器。这种方式有很多缺点,功能有限、开发困难,且不具备事务处理(transaction)功能, 这在很大程度上限制了它的应用。
  2. internet数据库连接器idc(internet database connector)
  这是一种简易方案,对数据库的操作仍然放在web端,但用户可通过sql(structured query language)语句对数据库进行查询、输入、更新、删除等操作。idc设计简易,不用编译就可直接执行,且支持对数据的多重查询(multiple query)。
  3. 先进数据库连接器adc(advanced data connector)
  前两种方案中对数据库的操作都是在服务器端进行,而adc是在浏览器端执行数据查询动作。当浏览器提出对数据库的操作请求时,adc 先将相应的数据库下载到浏览器端,在用户端对数据库进行操作。显然,这种方案效率很高。客户端对数据库的查询是由安装在客户端的a dc activex control完成的,而这个activex control是由站点服务器自动下载并安装在客户端的。
  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"打开待访问的数据库:
  set conn=server.creatobject("adodb.connection")
  conn.open "待访问的数据库名称"
  然后执行sql命令,即对数据库进行操作,这里要使用execute命令 :
  set rs =conn .execute( " select ...from...where...")下一步就可对数据库进行查询操作,要用到recordsets对象的如下命令:
  * rs.fildes.count
   recordsets的字段数
  * rs(i).name
   第i个字段名
  * rs(i)
   第i个字段的记录
  * rs("字段名")
    指定字段的记录
  * rs.eof
  是否指向最后一个字段 true or false
  * rs.movefirst
  指向第一条记录
  * rs.moveprev
  指向前一条记录
  * rs.movenext
  指向后一条记录
  * rs.movelast
  指向最后一条记录
  * rs.getrows
   将查询结果存放在数组中,然后再从数组中读取
  * rs.properties.count
   得到ado的connection或resultset的属性总数
  * rs.properties(item).name 得到ado的connection或resultse t的属性名称
  * rs.properties(item)
   得到ado的connection或resultset的属性值
  3. 具体实现
  主页面为港澳证件信息查询,对应程序为gacx.asp。查询结果以两种方式显示,一是显示主要信息——港澳证件信息查询结果列表,对应程序为gacxlb.asp;一是显示全部信息——港澳证件信息查询结果, 对应程序为gacxxq.asp。如果查询条件不能满足时,还将显示一个提示页面,告诉用户不存在满足条件的结果,由程序gacxts.asp完成。
  根据客户提供的数据库和要求查询的各项内容建立查询、查询结果、查询结果列表页面,并给出一个简单的提示界面,告诉用户不存在满足条件的结果,请重新查询,这些工作可用frontpage 98完成,整个页面应该做到简洁大方,主题鲜明。程序代码在microsof t visual i nterdev下编写。
  下面处理编码数据库zd.dbf中的内容。从图2中可看到有很多带下拉框的选项,例如"性别"、"出生地"等,这些选项的内容都是从zd.d bf数据库中提取出来的。因为有的选项内容很多,例如出境口岸有101 项之多,虽然也可用< select><option>...</option></se lect>格式在html页面中把各个选项列举出来,但将给程序的维护带来很大麻烦, 一旦编码数据库的内容有变动,程序也将作很多修改。而且带下拉框的选项都是在zd.dbf中编码,往主数据库中输入数据时这些选项都只输入编码,但显示时却不能显示编码,必须把编码对应的汉字显示出来。这段程序代码如下(以性别为例): 图2
  <%
  set conn=server.creatobject("adodb.connection")
  conn.open "gacx"
  set rs =conn.execute("select bc,mc from zd where bc like "se%"")
  response.write"<select size=1 name="sex">"do while not r s.eof
  response.write"<option value=‘"rs(0)">"&rs(1)
   rs.movenext
  loop
  response.write "</select>"
  rs.colse
  conn.colse
  %>
  其中,zd.dbf包含两个字段mc、bc,mc表示待编码项,如男、女,bc 表示编码,如性别编码的前两位为"se",男用"se1"表示,女用"se2" 表示。
  数据库查询中最重要的是如何取得查询条件。本例中要查询的项可以分为两类:一类是输入的text类的查询条件,另一类是从下拉框中选出来的项,在处理时要区别对待。te xt类型的查询条件很好处理, 例如姓名,笔者输入的内容命名为"xm",如果输入的查询项不为空时就增加一个查询条件"name=request.form("xm")"即可。下拉框的处理较复杂,当下拉框选中一项时,例如性别选中男,下拉框中输入的是"se 1"(但反映在数据库中时为"s ex=1",因为数据库中输入字典中带编码的项时只输入编码),就是要查询"sex=se1"的项。处理时要把"se1"中的"1"提取出来,用一个函数mid即可,查询条件为"sex=mid("se1",3, 1)",即从数据库中查找sex=1的项,并把所有满足条件的项不重复地列举出来。
  查询结果显示很容易实现,只须把查询结果的每条记录按列表的方式显示出来即可,但在显示查询结果时要显示编码对应的汉字,就是到字典中去找编码为"se"&"1" 的项所对应的编码值,程序如下:
  <table border="1" width="95%" bordercolor="#c0c0c0" cell spacing="0" cell padding="0"
   bordercolorlight="#c0c0c0" bordercolordark="#c0c0c0" he ight="60">
  <tr>
  <td width="9%" align="center" height="1"><p align="cente r">姓  名</td>
   <td width="12%" align="center" height="1">档 案 号</td>
  <td width="6%" height="1"><p align="center">性别</td>
  ......
  </tr>
  <%i=1%>
  <%while not rs.eof %>
  <tr>
   <td width="9%" align="center" height="1"><%=rs ("name") %></td>
   <td width="12%" align="center"height="1"><%=rs ("dang") %></td>
   <td width="6%" height="1"><%=func ("se" & rs("sex"),gac x)%></td>
  ......
   </tr>
   <%rs.movenext%>
   <%i=i+1%><%wend%></table>
  其中,func ("se" & rs("sex"),gacx)是个函数,实现从数据源中取得编码所对应的汉字的功能。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·数据库开发个人总结(ADO.NET小结)-.NET教程,数据库应用
·怎么由DataSet将数据导入Excel?-.NET教程,数据库应用
·动态创建SQL Server数据库、表、存储过程-ASP教程,数据库相关
·Win32环境下动态链接库(DLL)编程原理-.NET教程,数据库应用
·封装的ADO.NET对数据库操作经典类-.NET教程,数据库应用
·在DataGridView中获得DataGridViewCheckBoxColumn的状态-ASP教程,数据库相关
·DataGrid使用心得(附大量代码)-ASP教程,数据库相关
·用代码创建DataGrid的多链接及checkbox事件响应-.NET教程,数据库应用
·ADO.NET 的最佳实践技巧-.NET教程,数据库应用
·转载: 用纯ASP代码实现图片上传并存入数据库中

最新文章
·根据数据表中数据,生成Powerpoint幻灯片-ASP教程,数据库相关
·DataGrid中的按钮反选事件与NamingContainer(命名容器)-downmoon-ASP教程,数据库相关
·使用用VB处理MYSQL数据库中二进制数据问题-.NET教程,VB.Net语言
·关于DataGridView中如何接收处于编辑状态下的当前信息-ASP教程,数据库相关
·在DataGridView中获得DataGridViewCheckBoxColumn的状态-ASP教程,数据库相关
·.net下访问Access数据库需要注意的问题-.NET教程,Asp.Net开发
·ActiveMQ4.1+Spring2.0的POJO JMS方案(上)-.NET教程,数据库应用
·ASP.NET 2.0中直接将Access数据库导入到Excel文件中-.NET教程,Asp.Net开发
·NET(C#)连接各类数据库-集锦-.NET教程,C#语言
·ASP.NET2.0连接SQL Server数据库详解-.NET教程,Asp.Net开发




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号