一、前言
随着Interner技术的迅猛发展,网络信息查询的需求越来越繁重。SQL Serv er数据库是很优秀的后台数据库,提供了大量的查询功能,包括对自然语言中部分模糊概念的查询能力。但SQL语言作为已经被用户和业界广为接受并成为国际标准的数据库语言对应用广泛的网络信息查询的功能支持稍显滞后。
传统的网页制作工具,如Fro ntPage,Dreamweav er等只为用户提供网页制作和简单的上传功能,对于SQL查询支持甚少,尤其是模糊查询。如何将SQL表达自然语言中部分模糊概念的能力应用到网络环境下对一个初学者来说是一个急需解决的问题。
本文通过ASP这种服务器端的脚本语言,提出了两种基于SQL 模糊查询的网络信息查询方法(Select命令法和存储过程法),并设计出了良好的查询工具。
二、AS P及AS P内置的ADO组件
1.Micro soft Active Server Pages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS4.0和5.0之中,通过ASP我们可以结合HTM L网页、ASP指令和Activ eX元件建立动态、交互且高效的WE B服务器应用程序。它有着非常突出的特点,它比Html保密性更高,比脚本更灵活,比C GI更高效。
ASP程序是以扩展名为“.ASP”的纯文本形式存在于WE B服务器上的,它可以包含Htm l语句、ASP命令、文本及其他可以嵌套于HT NK文档的所有描述性语言(如:VBScripts,JavaScripts等),你可以用任何文本编辑器打开它。
ASP命令必须位于ASP定义的符号“<%”、“%>”之间,当用户访问ASP网页时,Web服务器先将“<%”、“%>”之间的ASP命令解析执行,然后将结果响应给用户,这样用户就无法看到ASP源文件,这就是ASP保密性高的原因。
2.ASP内置了ADO组件,因此可以轻松地存取各种数据库。
ADO是微软公司提供给开发者在网页中存取数据库的最新技术。ADO组件主要包括C onnection对象、Co mm and对象、Parameter对象、Reco rdSet对象、Field对象、Pro perty对象、Erro r对象等七个对象和Fields数据集合、Pro perties数据集合、Param eters数据集合、Errors数据集合等四个数据集合。
(1)Connection对象负责与数据源(数据库或文本文件)的连接;
(2)Com mand对象传递指定的SQL命令;
(3)Parameter对象提供Com mand对象所需的SQL命令参数;
(4)Reco rdSet对象负责浏览与操作从数据源中取出的数据;
(5)Field对象指定Reco rdSet对象的具体字段;
(6)Property对象代表由提供者定义的ADO对象的动态特征;
(7)Error对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息;
——
—这是与数据库存取密切相关的几个对象。
三、S QL S e rve r数据库的模糊查询
1.SQL Serv er数据库的Select查询命令可以实现数据库的查询。在Select命令的Where子句中使用“L IKE”关键词和“%”通配符就可以做到模糊查询。
下面语句在pubs数据库的authors表中查Name字段的值含有“Smith”字符串的所有记录。
Use pubs
S*F W N L IK"%S%"
GO
2.SQL Server数据库还提供了一种叫做Sto red Proced ure(存储过程)的数据库对象,用户可以将一些常用的命令过程以存储过程的形式存储起来,需要运行这些存储过程时,只要输入存储过程名即可。这样不仅简化了操作,而且提高了效率(存储过程运行比一个个的命令高效得多)。存储过程名的选取应符合SQL Serv er的命名规则,当它以“#”开头时,表示一个临时存储过程,它只在应用程序运行时存在,程序结束后,被自动删除。
下面的语句创建一个名字为#Query的临时存储过程:
Create Pro cedure#Query
As Select*Fro m authors Where Nam e L IKE"%Smith%"
四、数据库模糊查询的AS P实现
在ASP命令中,没有类似于SQL命令中的“L IKE”关键词和“%”通配符,因此仅仅使用ASP命令实现数据库的模糊查询有一定的困难。在编程实践中利用ADO组件的Co nnectio n对象、RecordSet对象分别动态创建、运行数据库的临时存储过程对象,不仅实现了模糊查询,而且具有很好的交互性。
1.创建一个用户交互页面INPUT.HT M L
<html>
<head>
<title>用户输入界面</title>
</head>
<bo dy>
<center><font face="宋体"size=+3>
数据库查询</fo nt></center>
<fo rm metho d="po st"action="Query.asp">
按字段<select nam e="leix ing">
<o ptio n v alue="Name">姓名</o ptio n>
<o ptio n v alue="sex">性别</o ptio n>
</select>进行查询<br>
关键词<input type="tex t"name="key wo rd"size=40><br>
<input ty pe="subm it"v alue="查询">
<input ty pe="reset"v alue="清除">
</form>
</bo dy>
</html>
当用户在此客户端页面上输入数据后,这些数据通过Form数据集合由“POST”方法传递到服务器端的Query.asp页面,由Query.asp来完成查询功能。
2.创建Query.asp文件,实现模糊查询
<html>
<head>
<title></title>
</head>
<bo dy>
<%
respo nse.write"<center><font face=""宋体"_
"size=+2>查询结果</fo nt></center>"
Dim quco l,str,str5
'获取F数据
q=q F("x")
在ASP环境下实现SQL数据库模糊查询
戚伟李蓉
(淮南职业技术学院信息与电气工程系安徽淮南232001)
【摘要】AS P(Active Serv er Pag es)是一种服务器端的脚本语言,是一种新的应用软件服务模式。本文阐述了如何将SQL表达自然语言中部分模糊概念的能力通过ASP应用到网络环境下,提出了两种基于模糊查询的方法(Select命令法和存储过程法),并设计出了良好的查询工具。
【关键词】SQ L S erver;AS P;ADO对象;模糊查询
elect ro m autho rs here ame E mith------orm--------
ucol re uest.o rm lei ing
402
(上接第408页)2.1.3功率谱分析程序调用L abVIEW 7E xpress Functio ns 模板>>Analyze 子模板>>Sig nal Pro cessin g 子模板>>Frequency Do main 函数子模板中的Auto Po wer Spectrum 和Cro ss Po wer Spectrum 节点可求功率谱函数。
自功率谱计算公式:power spectrum=
FFT *(Sig nal)×FFT(Signal)
N
2(3)
互功率谱计算公式:
Cro ss po wer XYSpectrum=FFT (Sig nal)×FFT *(Signal)
N 2
(4)
2.2系统的前面板设计系统界面模拟实际仪器的操作和显示功能,提供一个"真实"的仪器面板操作环境,为了易于操作和提高软件界面的友好性,将所有的控件放置于前面板的左边,并对各部分功能控件用矩形修饰框隔开,而将三个图形显示器W av eform Graph 放置于前面板的右边。为了便于识别两通道的信号,设置信号的控件字体颜与显示波形颜相同;因为信号的幅值可调,为了能适应信号的幅值变化,将所有Graph 的Auto Scale X 和Auto Scale Y 选中,坐标轴数值都用浮点数显示,并在Graph2和Graph3中,添加光标1和光标2,在最底下显示Curso r L eg end(光标图例),并将它们的属性设置为L o ck to plot,即只能在波形上移动,还可以用锁键选择光标所在的波形曲线,因此可以通过光标查看两信号相关、功率谱、卷积分析后波形曲线上任一点的坐标值。
3.实验结果分析
本系统对含有噪声的正弦信号进行了滤波分析,由前面板可见滤波效果很好。对信号进行了多次改变参数,无论是自相关还是互相关分析,都与相关性质相符合。用伯德图显示经过功率谱分析后的信号,
也与实际情况一致。目前该套系统已经应用于实践测试与教学,效果良好。
4.结论
将虚拟仪器处理的结果与先前的理论分析进行比较,完全一致,这说明运用虚拟仪器来完成来实现信号处理和分析是完全可行的。它将计算机与硬件有机的融为一体,把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,一台计算机加上一套虚拟程序软件就相当于很多种测试与分析设备,使测试与分析设备简化,操作简便,数据处理精确、迅速。因此基于L ABVIEW 对信号处理与分析系统的开发,具有很强的实际应用意义。【参考文献】
[1]杨乐平,李海涛,赵勇等.LabVIEW 高级程序设计[M].北京:清华大学出版社,2003.
[2]戴敬,王世立等.L abVIEW 基础教程[M ].北京:国防工业出版社,2002.9.[3]张毅,周绍磊等.虚拟仪器技术分析与应用[M].北京:机械工业出版社,2004.2.[4]姜建国,曹建中,高玉明等.信号与系统分析基础[M].北京:清华大学出版社,1994.2.
[5]黄长艺,严普强.机械工程测试技术基础[M].北京:机械工业出版社,2001.1.[6]刘猛,蒙占彬.基于虚拟
仪器技术的振.动测试系统[J].石油矿场机械,2005,34(4).27~29
作者简介:肖传凡(1978—),皖凤台人。国投新集能源股份有限公司新集一矿工程师,主要从事矿井提升和运输相关工作。
[责任编辑翟成梁]
●
●
str =request.Form("keyw ord")
'--------生成Where 子句-------str5=qucol&"L IKE "&"""%"&str&"%"""
'建立数据库连接。carlos:数据源名;sa :用户名;pubs :数据库名SetConn =Server.CreateObject("ADODB.Connectio n")C onn.Open "DSN=carlos;UID=sa;PWD=;Database=pubs"Fo r I =0T o s.Co unt -1
respo nse.s(I).descriptio n&"<br >"Next
'----创建临时存储过程----------C omm andT ex t ="CREAT E PROCEDURE"#query "&session("num")&_
"AS select *From autho rs Where "&ute Com mandText,0,-1'-------创建RecordSet 对象-------Set rs =Server.CreateObject("ADODB.RecordSet")'------运行临时存储过程--------C onst adOpenDynamic =2C onst adLo ckOptimistic =3C onst adCom dStoredPro c =8
C omm andT ex t ="#query"&sessio n("num")session("nu m")=session("num")+1rs.Open Com mand Text,C onn,adOpen Dy nam ic,adL o ckOptim istic,_adCo mdStoredPro c
asp数据'---------显示查询结果------respo nse.w rite "<table border=""1"">"respo nse.w rite "<tr >"
Fo r I =0T o rs.fields.Co unt-1
respo nse.w rite "<td >"&rs(I).Nam e&"</td >"Next
respo nse.w rite "</tr >"W hile Not rs.EOF respo nse.w rite "<tr >"
Fo r I =0To rs.fields.C ount -1
css =rs(I).Value If css <>""Then
respo nse.write "<td >"&css&"</td >"Else
respo nse.write "<td >.</td >"End If veNext
respo nse.write "</tr >"Wend
respo nse.write "</table >"rs.Close Set rs =Nothing
Set Co nn =Nothing %>
<!--查询结束,返回输入界面,开始下次查询--><a href="input.h tm l">返回到查询</a ></body ></html >
这里的临时存储过程名为#query 1(#query 2,#query3,……),每次的名字都不同,以避免每次执行query.asp 时创建同名的存储过程。由于创建的是临时存储过程,当用户查询结束退出时,这些存储过程会自
动删除,不会对数据库造成任何影响。
【参考文献】
[1]杨安祺,董海洋.企业数据库通用模糊查询技术的Pow e rBuil der 设计方法.微
电子学与计算机.2003,20(12):79-81.
[2]Shyi-Ming Chen,Woei-Tz y Jong.Fuzzy query translation for relational database.IE EE transction on systems Man and cybernetics -part B:Cyberne ti c s,1997,27(4):714-721.
[3]周宏,徐小良,汪乐宇.基于模糊算法的数据库查询工具的设计[J].计算机应用研究,2001,18(5).
[4]黄波.基于扩展S QL 的GIS 模糊查询的表达与实现[J].武汉测绘科技大学学报,1996,21(1).
[责任编辑:田瑞鑫]
●
3
:40
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论