ASP 与ADO 在Web 数 据 库 查 询 中 的 应 用

原创 2002年11月18日 10:19:00

 



---- * 具 体 实 现

---- 查 询 主 页 面 为 港 澳 证 件 信 息 查 询, 对 应 程 序 为gacx.as
p, 查 询 结 果 以 两 种 方 式 显 示, 一 种 是 显 示 主 要 信 息- 港
澳 证 件 信 息 查 询 结 果 列 表, 对 应 程 序 为gacxlb.asp, 一 种 是
显 示 全 部 信 息- 港 澳 证 件 信 息 查 询 结 果, 对 应 程 序 为gacx
xq.asp, 如 果 查 询 条 件 不 能 满 足 时, 还 将 显 示 一 个 提 示 页
面, 告 诉 用 户 不 存 在 满 足 条 件 的 结 果, 这 由 程 序gacxts.as
p 完 成。

---- 首 先 根 据 客 户 提 供 的 数 据 库 和 要 求 查 询 的 各 项 建 立
查 询、 查 询 结 果、 查 询 结 果 列 表 页 面, 还 要 给 出 一 个 简
单 的 提 示 界 面, 告 诉 用 户 不 存 在 满 足 条 件 的 结 果, 请 重
新 查 询, 这 些 工 作 可 以 用FrontPage 98 完 成, 整 个 页 面 应 该
做 到 简 洁 大 方, 主 题 鲜 明。 程 序 代 码 在Microsoft Visual Inter
Dev 下 编 写。

---- 下 面 处 理 编 码 数 据 库zd.dbf 中 的 内 容。 从 下 图 中 可 以
看 到 有 很 多 带 下 拉 框 的 选 项 例 如" 性 别"、" 出 生 地" 等, 这
些 选 项 的 内 容 都 是 从zd.dbf 数 据 库 中 提 取 出 来 的, 这 正 是
本 程 序 数 据 库 处 理 过 程 中 的 一 个 闪 光 点( 这 一 部 分 是 由
陶 则 民 工 程 师 设 计 并 实 现 的), 因 为 有 的 选 项 内 容 很 多
, 例 如 出 境 口 岸 有101 项 之 多, 你 虽 然 也 可 以 用< select > <
option >...< /option >< /select > 格 式 在HTML 页 面 中 把 各 个 选 项
列 举 出 来, 但 那 将 给 程 序 的 维 护 带 来 很 大 麻 烦, 一 旦 编
码 数 据 库 的 内 容 有 变 动, 程 序 也 将 不 得 不 作 很 多 修 改,
而 且 带 下 拉 框 的 选 项 都 是 在zd.dbf 中 编 码 了 的, 往 主 数 据
库 中 输 入 数 据 时 这 些 选 项 都 只 输 入 编 码, 但 显 示 时 却 不
能 显 示 编 码, 必 须 把 编 码 对 应 的 汉 字 显 示 出 来。 这 段 程
序 代 码 如 下( 以 性 别 为 例):

< %
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 RS.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", 男 用"se
1" 表 示, 女 用"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" 的 项 所 对 应 的 编 码 值, 程 序 如 下:

< table border="1" width="95%"
bordercolor="#C0C0C0" cellspacing="0" cellpadding="0"
bordercolorlight="#C0C0C0"
bordercolordark="#C0C0C0" height="60" >
  < tr >
   < td width="9%" align="center"
height="1" >< p align="center" >
姓 名< /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"),GACX)% >< /td >
       ......
     < /tr >
     < %RS.MoveNext% >
     < %i=i+1% >
   < %WEnd% >
   < /table >
---- 其 中,Func ("se" & RS("sex"),GACX) 是 个 函 数, 实 现 从 数 据
源 中 取 得 编 码 所 对 应 的 汉 字 的 功 能。

【数据库】——ADO的七个对象和4个数据集合

ADO (ActiveX Data Objects)是一个用于存取数据源的COM组件。它提供了 编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问 数据的代码而不用关心数据库...
  • z15732621736
  • z15732621736
  • 2015年07月29日 21:55
  • 1298

asp中ADO记录集对象的方法

记录集对象的方法rs.movenext 将记录指针从当前的位置向下移一行rs.moveprevious 将记录指针从当前的位置向上移一行rs.movefirst 将记录指针移到数据表第一行rs.mov...
  • xiaohu0515
  • xiaohu0515
  • 2011年06月10日 12:02
  • 144

用ASP与ADO查询Web数据库

用ASP与ADO查询Web数据库  ASP和ADO简介  DO中可用VBScript、JavaScript 语言来控制数据库的访问(而ASP恰恰是脚本语言的解释环境)和查询结果的输出;ADO中使用Re...
  • smarter
  • smarter
  • 2001年08月11日 20:06
  • 804

ASP之ADO的添加新记录

  傻子的事情越来越杂了,再也不可能去做PPC的项目了,这几天都在做杂活,今天修改这个网站的BUG,明天修改那个网站的BUG,美国人怎么这么无聊呢,每天尽找BUG了,更郁闷的是公司高手这么多,为什么让...
  • appaappf
  • appaappf
  • 2007年10月27日 22:25
  • 547

Asp.net 和Ado.net的区别和不同

ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。 与以前的Web开发模型相比,ASP.NET 提供了数个重要的优点: 增强的性能。 ASP.NE...
  • yuzifen
  • yuzifen
  • 2011年09月03日 17:20
  • 2730

ADO访问数据库获取 Recordset 对象中的记录数

CString strSQL = "SELECT * FROM authors";           _RecordsetPtr pRs = NULL;      pRs.CreateInstanc...
  • dafenqie
  • dafenqie
  • 2016年12月27日 17:06
  • 1251

数库据

数库据(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要...
  • yuanshuai1136
  • yuanshuai1136
  • 2017年12月29日 16:51
  • 32

VC用ADO访问数据库

VC用ADO访问数据库全攻略,介绍了VC用ADO来访问数据库的各个对象及各方法,很经典,也很实用,很值得一看。  正文  一、ADO概述  ADO是Microsoft为最新和最强大的数据访问...
  • worldy
  • worldy
  • 2013年09月21日 11:18
  • 4615

ODBC与ADO的区别

ODBC(Open Database Connection,开放式数据互连)是访问数据库的一个统一接口标准,它允许开发人员使用ODBC API(应用程序接口)来访问多种不同的数据源,并执行数据操作。 ...
  • foreverhuylee
  • foreverhuylee
  • 2014年05月16日 11:21
  • 943

web报表软件必不可少的功能-填报

许多的web报表软件都声称支持在线填报,如快逸报表、FineReport、数巨等,但有些web报表软件其实只是能生成可以填写的HTML而已,距离真正需要的填写上报功能相去甚远。 如果你有填报的需求,在...
  • u010567898
  • u010567898
  • 2014年11月30日 15:44
  • 477
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP 与ADO 在Web 数 据 库 查 询 中 的 应 用
举报原因:
原因补充:

(最多只允许输入30个字)