2024年6月21日发(作者:)
维普资讯
第l8卷第2期 四川文理学院学报(自然科学) 2008年3月
Mar.2008 Vo1.1 8 No.2 Sichuan University of Arts and Science Journal(Natural Science Edition)
基于ASP通用简单查询系统的设计与实现
范云芝
(商丘师范学院计算机科学系,河南商丘476000)
【摘要】如何从大量的信息中按用户的需求提取所需的数据是对信息系统最基本的要求之一。给出
了一个能够在Web环境下实现表中信息任意查询的方法,并给出了部分关键实现代码。
【关键词】ASP;信息;简单查询
【中图分类号】 rP3o2 【文献标识码】A 【文章编号】1008—4886(2008)02—0059—03
部分称作前端查询表单,这是一个可交互的主页,用以
构成查询界面,用户通过该界面提交查询请求。第二部分
称作后端应用服务程序,这是一个运行在服务器上的ASP
脚本,它处理用户的查询请求,并将处理结果返回给浏览
一
随着Intemet应用的不断扩展,许多企业都在着力或
已经建造了自己的信息管理系统。在这些信息系统中,仅
涉及到单个表的字段任意组合的简单查询也是信息获取
的一个重要方式和途径。本文基于ASP技术,设计和开
发了一个B/S模式下的通用简单查询系统。
器。
1 ASP技术
ASP(Active Server Pages)是一个由微软推出的Web
服务器端的开发环境,利用它可以产生和运行动态的、交
2.1 设计目标
根据用户对查询系统的需求,结合数据库的具体结
构,本系统的设计目标如下:
2.1.1 查询内容可以是任意表,单表中任意字段的
组合。
2.1.2用户输入的查询条件能按语法规则正确地翻
译成程序。对日期型数据可按时间范围查询,对数值型数
据可以按具体的值或范围查询,对字符型数据可以按照模
糊条件查询。多个查询条件之间可以按照“与”或“或”关
系连接。
互的、高性能的Web服务器应用程序。ASP采用VBScript
和JavaScript这两种脚本语言作为嵌入在HTML中的服务
器端编程语言,应用程序很容易开发和修改。
如图l所示:浏览器从Web服务器上请求.asp文件
时,ASP脚本开始运行。然后Web服务器调用ASP,ASP
全面读取请求的文件,执行所有脚本命令,并将Web页传
送给浏览器。由于脚本在服务器上而不是在客户端运行,
传送到浏览器上的Web页是在Web服务器上生成的,所
以不必担心浏览器能否处理脚本。Web服务器已经完成
2.1.3界面友好、方便、直观,用户可灵活输入查询
条件。
2.2 前端通用查询表单的构造
了所有脚本的处理,并将标准的HTML传输到浏览器。由
于只有脚本的结果返回到浏览器,所以服务器端脚本不易
复制,用户看不到创建他们正在浏览的网页的脚本命令。
本例采用JavaScript语言实现。
为达到设计要求,设计采用的最终查询界面如图2:
请选择查询衰: 911电缝接头温度
温腰1 摄厦6
-1
温度2江度3
沮度4
温度5
>
<
八
温度7温度1 1
温度12
温度】3
Web r-—— 叫数据库
I
江度8工-度9
江度l0
洱度15
江度16
洱度14 增加条件
器
服务器k._一服务器 J
‘±忤I j ●‘,。。。。。。。。。。。。一
温度1 7
温度1江度189 煎室
图1 ASP模型
温度20
『萱度11 .:J I大干 .=j l40
V
I与 基!医 I
2 系统实现
在Web环境中实现通用查询系统分为两个部分。第
图2 系统查询界面
该主页的表单使用了l4个ActiveX控件,其中:
【收稿日期】20o7—11—10
【作者简介】范云芝(1972一),女,河南虎城人,副教授,主要从事计算机控制研究。
59
维普资讯
2008年第2期
(1)四个下拉式列表框,自上而下自左而右第一个用
来选择所要查询的数据库中的表名,第二个用来选择此表
中的某个字段名,第三个用来选择运算符,系统提供了“大
于”、“大于等于”、“等于”、“不等于”、“小于”、“小于等
于”、“IAke”、“Not lAke”8个运算符供选择,第四个用来选
择多个查询条件关系,选项为“与”、“或”。
(2)两个列表框,左侧列表框列出所选择的查询表中
的所有字段名称供选择,右侧列表框列出了所需要查询的
字段。
(3)两个列表框之间是4个命令按钮,单击“>”,将
所选定的左侧列表框字段移到右侧列表框,双击“>”,将
左侧列表框所有字段移到右侧列表框。“<”作用类似
“>”
,
只是移动的方向相反。“^”、“V”用于上下调整查
询字段的显示先后顺序。
例如:命令“>”单击的相关代码为:
function LtoR()
{
try
{var opt=new Option(Lselect.options(Lselect.selectedln-
dex).text,
Lselect.options(Lselect.selectedlndex).value);
//获取所选字段的文本与值
opt.semo=Lselect.options(Lselect.selectedlndex).ser-
no;//所选字段序号
opt.type:Lselect.options(Lselect.selectedlndex).
type;//所选字段数值类型
Rselect.add(opt);//将所选字段加入右侧列表框
condSelect1.appendChild(opt.cloneNode(true));//将
所选字段名称加入条件选择框
Lselect.remove(Lselect.selectedlndex);//将所选字段从左
侧列表框移去
}
.
catch(e){}
}
(4)一个文本框,用于输入查询条件中的值。
(5)三个命令按钮“确定”、“增加条件”、“删除”。当
用户做一个查询时,系统默认只有一个查询条件,在表单
最下方显示。若用户需要多个查询条件组合,这时可以单
击“增加条件”来增加一组条件输入框,在每组条件输入
框最后均有一个“删除”按钮,用来删除当前条件。当用
户所选字段和条件均设置完毕后,通过单击“确定”按钮
提交。系统根据提交信息查询后台数据库,显示查询信
息。
2.3后端应用服务程序的构造
后端程序是在服务器后台运行的程序,脚本通过读取
60
范云芝:基于ASP通用简单查询系统的设计与实现
和分析用户输入从而进入实质性工作。本系统所需完成
的流程为:
(1)用户访问查询页面时,数据库中的所有用户表要
填充在第一个下拉式列表框中供选择。
(2)当用户选择了某一个用户表时,表中的所有字段
名称显示在左侧列表框中,如图2。
(3)用户通过“>”、“<”、“^”、“V”四个命令按钮
选择好要查询的字段并设定好查询条件后,按“确定”按
钮提交所生成的SQL语句,去服务器查询内容。
(4)将查询结果显示出来。后端应用服务器需要具
备相应功能,此处主要介绍页面启动时服务器的初始化工
作。分析实现如下:
用户选择某一个表时,为了不至于让用户等待太长时
间,查询页面启动时,服务器读取系统用户表的同时,应读
取表中字段名称,并设法将这些数据写入客户端以供客户
端编程使用。相关代码如下:
<%
var corm=Server、CreateObject(“ADODB、Connection”);
conn.CursorLocation=3;
corm.Openf“Provider=sqloledb;user id=sa;password
=sa;initial catalog fyz;data source=fyz”);//打开SQL
Server数据库
var rs=Server.CreateObject(“ADODB.Recordset”);
l
rs.CursorLocation=3:
var myRs=Server.CreateObject(“ADODB.Recordset”);
myRs.CursorLocation=3;
val"A=new Array();B:new Array();
sql=”select name.id from sysobjects where xtype=,u
order by id”;
if(rs.State==1)rs.Close;
rs.Open(sql,conn);//查询数据库中的用户表
if(!rs.EOF){
for(var i=0;i<rs.RecordCount;i++)
{
A[i]=new Array();
B[i]=new Army();
A[i][0]=rs(0)+””;
B[i][0]=rs(0)+””;
sqlStr=”select name.xtype from syscolumns where id
”+rs(1)+” order by colid”;
if(myRs.State==1)myRs.Close();
myRs.Open(sqlStr,conn);//查询用户表中字段名
称和字段类型
if(!myRs.EOF)
维普资讯
范云芝:基于ASI,通用简单查询系统的设计与实现 2008年第2期
{
Response.Write(”dataB[”+t+”]=eval( +B[t]
+”:split( ’);\n“);
}
Response.Write(”</script>”)
{
for(var j=0;j<myRs.RecordCount;j++)
A[j][j+1]:myRs(0)+””;
B[j][j+J]=myRs(1)+””;
myRs.MoveNext();
}
}
1"8.MoveNext();
}
%>
3 结束语
企业信息系统的建立为及时获取企业内部的综合信
}
息、改善和优化企业管理、增强企业整体效益提供了有力
myRs.Close;myRs:null;
的支持,本文提供了一种方便高效的查询界面,可以满足
1"8.Close;1"8:null;
不同用户的不同需求。本系统已成功应用于某隧道电缆
conn.Close;eonn=null;
温度监测系统中,为查询系统历史温度提供了很大方便。
// 以下代码设法将数据写
入客户空嵩术术术术术术术术术术术术术术术术 参考文献:
Response.Writef”<scri”+”pt language=JScript >\n
[1]王嘉祯,王红霞,宁红岩.基于Web的通用查询系
”);
统的设计与实现[J].电脑开发与应用,2000(9):15—17.
Response.Write(”var dataA=new Array();Vfld["dataB
[2]Active Server Pages3从入门到精通[M].邱仲潘等
=new Array();\n”);
译.北京:电子工业出版社,2000.
for(t=0;t<A.1ength;t++)
[3]范云芝.基于Web的远程监测系统研究【D].西安
{
理工大学硕士学位论文,2oo4.
Response.Write(”dataA[”+t+”]=eval( +A
[t]+”:split( ’);\n”);
[责任编辑唐华生】
Design and Implementation of Universally Simple Inquiry System Based on ASP
FAN Yun—zhi
(Department of Computer Science,Shangqiu Teachers CoHege,Shangqiu Henan 476000,China)
Abstract:This paper points out how to extract the needed data from a great amount of information according to the user’S require-
ments is one of the principal demands for information system.A way that can fulfill the inquiires of any single table ifnormation under
the Web environment is presented and some key implementing codes are given as wel1.
Key words:ASP;ifnormation;simple inquiry
61
发布者:admin,转转请注明出处:http://www.yc00.com/web/1718902046a2753415.html
评论列表(0条)