2024年6月21日发(作者:)
科技信息○IT技术论坛○SCIENCE&TECHNOLOGYINFORMATION
2008
年第
24
期
在
ASP
环境下实现
SQL
戚伟李蓉
(淮南职业技术学院信息与电气工程系
数据库模糊查询
安徽淮南
232001
)
【摘要】ASP(ActiveServerPages)是一种服务器端的脚本语言,是一种新的应用软件服务模式。本文阐述了如何将SQL表达自然语言中
部分模糊概念的能力通过ASP应用到网络环境下,提出了两种基于模糊查询的方法(Select命令法和存储过程法),并设计出了良好的查询工
具
。
【
关键词
】SQLServer;ASP;ADO
对象
;
模糊查询
一、前言
随着Interner技术的迅猛发展,网络信息查询的需求越来越繁重。
SQLServer数据库是很优秀的后台数据库,提供了大量的查询功能,
包括对自然语言中部分模糊概念的查询能力
。
但
SQL
语言作为已经
被用户和业界广为接受并成为国际标准的数据库语言对应用广泛的
网络信息查询的功能支持稍显滞后。
传统的网页制作工具,如FrontPage,Dreamweaver等只为用户提
供网页制作和简单的上传功能,对于SQL查询支持甚少,尤其是模糊
查询
。
如何将
SQL
表达自然语言中部分模糊概念的能力应用到网络
环境下对一个初学者来说是一个急需解决的问题
。
本文通过
ASP
这种服务器端的脚本语言,提出了两种基于
SQL
模糊查询的网络信息查询方法(Select命令法和存储过程法),并设计
出了良好的查询工具。
二
、ASP
及
ASP
内置的
ADO
组件
oftActiveServerPages
即我们所称的
ASP
,其实是一套
微软开发的服务器端脚本环境,
ASP
内含于
IIS4.0
和
5.0
之中
,
通过
ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交
互且高效的WEB
服务器应用程序
。
它有着非常突出的特点
,
它比
Html
保密性更高
,
比脚本更灵活
,
比
CGI
更高效
。
ASP
程序是以扩展名为“
.ASP
”的纯文本形式存在于
WEB
服务
器上的,它可以包含Html语句、ASP命令、文本及其他可以嵌套于
HTNK文档的所有描述性语言(如:VBScripts,JavaScripts等),你可以
用任何文本编辑器打开它
。
ASP
命令必须位于
ASP
定义的符号
“<%”、“%>”
之间
,
当用户访
问
ASP
网页时,
Web
服务器先将“
<%
”、“
%>
”之间的
ASP
命令解析执
行,然后将结果响应给用户,这样用户就无法看到ASP源文件,这就
是ASP保密性高的原因。
内置了
ADO
组件
,
因此可以轻松地存取各种数据库
。
ADO
是微软公司提供给开发者在网页中存取数据库的最新技
术。
ADO
组件主要包括
Connection
对象、
Command
对象、
Parameter
对
象、RecordSet对象、Field对象、Property对象、Error对象等七个对象和
Fields数据集合、Properties数据集合、Parameters数据集合、Errors数据
集合等四个数据集合
。
(1)Connection
对象负责与数据源
(
数据库或文本文件
)
的连接
;
(
2
)
Command
对象传递指定的
SQL
命令;
(3)Parameter对象提供Command对象所需的SQL命令参数;
(4)RecordSet对象负责浏览与操作从数据源中取出的数据;
(5)Field
对象指定
RecordSet
对象的具体字段
;
(6)Property
对象代表由提供者定义的
ADO
对象的动态特征
;
(
7
)
Error
对象包含与单个操作(涉及提供者)有关的数据访问错
误的详细信息;
———这是与数据库存取密切相关的几个对象。
三、
SQLServer
数据库的模糊查询
ver
数据库的
Select
查询命令可以实现数据库的查询。
在Select命令的Where子句中使用“LIKE”关键词和“%”通配符就可
以做到模糊查询。
下面语句在
pubs
数据库的
authors
表中查找
Name
字段的值含有
“Smith”
字符串的所有记录
。
Usepubs
Select*FromauthorsWhereNameLIKE"%Smith%"
402
GO
ver
数据库还提供了一种叫做
StoredProcedure
(存储过
程)的数据库对象,用户可以将一些常用的命令过程以存储过程的形
式存储起来
,
需要运行这些存储过程时
,
只要输入存储过程名即可
。
这
样不仅简化了操作
,
而且提高了效率
(
存储过程运行比一个个的命令
高效得多)。存储过程名的选取应符合
SQLServer
的命名规则,当它以
“#”开头时,表示一个临时存储过程,它只在应用程序运行时存在,程
序结束后,被自动删除。
下面的语句创建一个名字为
#Query
的临时存储过程
:
CreateProcedure#Query
AsSelect*FromauthorsWhereNameLIKE"%Smith%"
四、数据库模糊查询的ASP实现
在ASP命令中,没有类似于SQL命令中的“LIKE”关键词和“%”
通配符
,
因此仅仅使用
ASP
命令实现数据库的模糊查询有一定的困
难
。
在编程实践中利用
ADO
组件的
Connection
对象
、RecordSet
对象分
别动态创建、运行数据库的临时存储过程对象,不仅实现了模糊查询,
而且具有很好的交互性。
1.创建一个用户交互页面
用户输入界面
宋体
"size=+3>
数据库查询
按字段
姓名
性别
进行查询
关键词
清除 "> 当用户在此客户端页面上输入数据后,这些数据通过Form数据 集合由 “POST” 方法传递到服务器端的 页面 , 由 来 完成查询功能 。 2. 创建 文件,实现模糊查询
<%
"
宋体
"_
"size=+2>
查询结果
Dimqucol,str,str5
'------获取Form数据--------
qucol=("leixing")
科技信息○IT技术论坛○SCIENCE&TECHNOLOGYINFORMATION2008年第24期
str=("keyword")
'--------
生成
Where
子句
-------
str5=qucol&"LIKE"&"""%"&str&"%"""
'
建立数据库连接。
carlos:
数据源名;
sa
:用户名;
pubs
:数据库名
SetConn=Object("tion")
"DSN=carlos;UID=sa;PWD=;Database=pubs"
ForI=-1
(I).description&"
"
Next
'----创建临时存储过程----------
CommandText="CREATEPROCEDURE"
#query"&session("num")&_
"ASselect*FromauthorsWhere"&str5
eCommandText,0,-1
'-------创建RecordSet对象-------
Setrs=Object("Set")
'------
运行临时存储过程
--------
ConstadOpenDynamic=2
ConstadLockOptimistic=3
ConstadComdStoredProc=8
CommandText="#query"&session("num")
session("num")=session("num")+1
mmandText,Conn,adOpen
Dynamic,adLockOptimistic,_
adComdStoredProc
'---------
显示查询结果
------
"
"
ForI=-1
"
Next
"
"
ForI=-1
●
(上接第
408
页)
2.1.3
功率谱分析程序调用
LabVIEW7
ExpressFunctions模板>>Analyze子模板>>SignalProcessing子模板>>
FrequencyDomain函数子模板中的AutoPowerSpectrum和Cross
PowerSpectrum
节点可求功率谱函数
。
自功率谱计算公式
:
*
powerspectrum=
FFT(Signal)×FFT(Signal)
N
2
(3)
互功率谱计算公式
:
CrosspowerXYSpectrum=
FFT(Signal)×FFT
*
(Signal)
N
2
(4)
2.2
系统的前面板设计系统界面模拟实际仪器的操作和显示功
能,提供一个
"
真实
"
的仪器面板操作环境,为了易于操作和提高软件
界面的友好性,将所有的控件放置于前面板的左边,并对各部分功能
控件用矩形修饰框隔开,而将三个图形显示器WaveformGraph放置
于前面板的右边。为了便于识别两通道的信号,
设置信号的控件字体
颜色与显示波形颜色相同
;
因为信号的幅值可调
,
为了能适应信号的
幅值变化,将所有
Graph
的
AutoScaleX
和
AutoScaleY
选中,坐标轴
数值都用浮点数显示,并在Graph2和Graph3中,添加光标1和光标
2,在最底下显示CursorLegend(光标图例),并将它们的属性设置为
Locktoplot,
即只能在波形上移动
,
还可以用锁键选择光标所在的波
形曲线
,
因此可以通过光标查看两信号相关
、
功率谱
、
卷积分析后波形
曲线上任一点的坐标值。
3.实验结果分析
本系统对含有噪声的正弦信号进行了滤波分析,由前面板可见滤
波效果很好
。
对信号进行了多次改变参数
,
无论是自相关还是互相关
分析
,
都与相关性质相符合
。
用伯德图显示经过功率谱分析后的信号
,
css=rs(I).Value
Ifcss<>""Then
"
Else
"
EndIf
Next
xt
"
Wend
""
Setrs=Nothing
SetConn=Nothing
%>
返回到查询
这里的临时存储过程名为#query1(#query2,#query3,……),每次的
名字都不同
,
以避免每次执行
时创建同名的存储过程
。
由于
创建的是临时存储过程
,
当用户查询结束退出时
,
这些存储过程会自
动删除,不会对数据库造成任何影响。
科
●
【参考文献】
[1]杨安祺,董海洋.企业数据库通用模糊查询技术的PowerBuilder设计方法.微
电子学与计算机
.2003,20(12):79-81.
[2]Shyi-MingChen,uerytranslationforrelationaldatabase.
IEEEtransctiononsystemsManandcybernetics-partB:Cybernetics,1997,27(4):
714-721.
[3]周宏,徐小良,汪乐宇.基于模糊算法的数据库查询工具的设计[J].计算机应用
研究,2001,18(5).
[4]
黄波
.
基于扩展
SQL
的
GIS
模糊查询的表达与实现
[J].
武汉测绘科技大学学
报
,1996,21(1).
[责任编辑:田瑞鑫]
也与实际情况一致。目前该套系统已经应用于实践测试与教学,效果
良好。
4.
结论
将虚拟仪器处理的结果与先前的理论分析进行比较
,
完全一致
,
这说明运用虚拟仪器来完成来实现信号处理和分析是完全可行的
。
它
将计算机与硬件有机的融为一体,把计算机强大的计算处理能力和仪
器硬件的测量、控制能力结合在一起,一台计算机加上一套虚拟程序
软件就相当于很多种测试与分析设备,使测试与分析设备简化,操作
简便
,
数据处理精确
、
迅速
。
因此基于
LABVIEW
对信号处理与分析系
统的开发,具有很强的实际应用意义。
科
●
【参考文献】
[1]杨乐平,李海涛,赵勇等.LabVIEW高级程序设计[M].北京:清华大学出版社,
2003.
[2]
戴敬
,
王世立等
.LabVIEW
基础教程
[M].
北京
:
国防工业出版社
,2002.9.
[3]
张毅
,
周绍磊等
.
虚拟仪器技术分析与应用
[M].
北京
:
机械工业出版社
,2004.2.
[
4
]姜建国
,
曹建中
,
高玉明等
.
信号与系统分析基础
[M].
北京:清华大学出版社,
1994.2.
[5]黄长艺,严普强.机械工程测试技术基础[M].北京:机械工业出版社,2001.1.
[6]
刘猛
,
蒙占彬
.
基于虚拟仪器技术的振
.
动测试系统
[J].
石油矿场机械
,2005,34
(4).27~29
作者简介:肖传凡(
1978
—),皖凤台人。国投新集能源股份有限公司新集一
矿工程师,主要从事矿井提升和运输相关工作。
[
责任编辑
:
翟成梁
]
403
发布者:admin,转转请注明出处:http://www.yc00.com/web/1718913108a2753507.html
评论列表(0条)