在ASP环境下实现SQL数据库模糊查询

在ASP环境下实现SQL数据库模糊查询


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.创建一个用户交互页面

</p><p style="text-indent: 2em;font-size:18px;">用户输入界面</p><p style="text-indent: 2em;font-size:18px;">

宋体

"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

""&rs(I).Name&""

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

""&css&""

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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信