ASP的多条件动态查询

 时间:2013-05-13 01:24:11 贡献者:瑞典火柴1208

导读:山云资料库小编为大家带来关于ASP的多条件动态查询,asp.net 网页动态查询条件的实现的内容希望大家喜欢。

asp.net 网页动态查询条件的实现
asp.net 网页动态查询条件的实现

ASP 的多条件动态查询2003:8:26 ·来源:Asp/Jsp 技术网 karry当用 ASP 与 SQL Server 数据库打交道时, 查询语句是必不可少的。

SQL Server 数据库本身提供了丰富的查询语句,但是如何在 ASP 中实现对 SQL Server 数据库的多条件动态查询呢?笔者在用 ASP 开发一个基于 SQL Server 的网站时,较好地解决了这一问题,本文介绍其中的实现方法。

数据库的定义 在 SQL Server 中定义一个数据库,名称为“comm_server” 。

在该数据库中 定义一个表,表名为“operator”,包含如下表所示字段 (仅以程序中用到的 5 个字段为例): 字段名称 备注 Name 姓名 Varchar(20),定义为主键 Educationallever 学历 Varchar(10) Grade 职称 Varchar(10) State 现在状况 Varchar(10) Time 记录时间 datetime 输入网页的设计 在 index_people.htm 网页中定义一个 form,其中用到的标准用户界面元素 如下: 姓名:学历: 选择职称: 选择现在状况: 选择 TML 程序代码如下:

 姓名:  学历:  职称:

现在状况:

多条件动态查询的实现 people_seek.asp 程序代码如下: <% Function GetSQLServerConnection( Computer, UserID, Password, Db ) Dim Params, conn Set GetSQLServerConnection = Nothing Params = “Provider=SQLOLEDB.1” Params = Params &“;Data Source=” & Computer Params = Params & “;User ID=” & UserID Params = Params & “;Password=” & Password Params = Params & “;Initial Catalog=” & Db Set conn = Server.CreateObject (“ADODB.Connection”) conn.Open Params Set GetSQLServerConnection = conn End Function Function GetSQLServerStaticRecordset( conn, source ) Dim rs Set rs = Server.CreateObject(“ADODB.Recordset”) rs.Open source, conn, 3, 2 Set GetSQLServerStaticRecordset = rs End Function

%> 以下是对 form 表单的处理: <% if Request(“btn_seek”)<> Empty then seek_name=Trim(Request(“txt_name”)) seek_xueli=Trim(Request(“sel_xueli”)) seek_zhicheng=Trim(Request(“sel_zhicheng”)) seek_zhuangkuang=Trim(Request (“sel_zhuangkuang”)) if((seek_name=“”) and (seek_xueli=“选择”) and (seek_zhicheng=“选择”) and (seek_zhuangkuang=“选择”)) then %>

<%Response.Write “您没有输入查询条件! %>

” <%Response.Write “请输入条件后查询!! %>

!”

<%Response.End%> <% end if sql_text=“select * from operator where ” if seek_name=“” then sql_text=sql_text else sql_name=“name =‘ “&seek_name&”” ’ sql_text=sql_text+sql_name end if if seek_xueli=“选择” then sql_text=sql_text else if (seek_name<>“”) then

sql_xueli=“ and “+”educationallever =‘ “&seek_xueli&”” ’ else sql_xueli=“educationallever =‘ “& seek_xueli&”” ’ end if sql_text=sql_text+sql_xueli end if if seek_zhicheng=“选择" then sql_text=sql_text else if ((seek_name<>“”) or (seek_xueli<>“选择”)) then sql_zhicheng=“ and “+”grade =‘ “&seek_zhicheng&”” ’ else sql_zhicheng=“grade =‘ “& seek_zhicheng&”” ’ end if sql_text=sql_text+sql_zhicheng end if if seek_zhuangkuang=“选择” then sql_text=sql_text else if ((seek_name<> ) or (seek_xueli<> “” “选择” or (seek_zhicheng<> ) “选择” )) then sql_zhuangkuang=“ and “+”state =‘ “&seek_zhuangkuang&”” ’ else sql_zhuangkuang=“state =‘ “& seek_zhuangkuang&”” ’ end if sql_text=sql_text+sql_zhuangkuang end if sql_text=sql_text+“ order by time desc” else sql_text=“select * from operator order by time desc”

end if Myself = Request.ServerVariables(“PATH_INFO”) Set rs = GetSQLServerStaticRecordset( GetSQLServerConnection( “comm_server ”, “sa”,“”,“comm_server” ), sql_text) if rs is nothing then Response.Write “连接数据库失败! ” Response.End end if if ((rs.BOF=true) and (rs.EOF=true)) then %>

<%Response.Write “数据库中没有您要查询的信息! %>

返回
<% Response.End end if „„%> 上述 ASP 程序实现了对 SQL Server 数据库的多条件动态查询, 达到了预定 的效果。

如果实际中需要实现模糊查询或多表联合查询,只需对上述程序 稍加修改即可使用。

Active Server Pages 对象 你已经接触了一个内嵌对象的例子-Response 对象。

你已经可以利用 Response 对象将表达式输出 到浏览器上。

不过,Response 对象还有相当数量的其他重要属性、集合以及方法。

下面的章节中将会详细介绍每一种内嵌对象的使用。

下面是对每一种内嵌的快速浏览: ■application 对象:application 对象被用来存储一个应用中所有用户共享的信息。

例如,你可以利 用 application 对象来在你的站点的不同用户间传递信息。

■request 对象:request 对象可以被用来访问所有从浏览器到服务器间的信息,你也就可以利用 request 对象来接受用户在 html 主页的 form 中的信息。

■response 对象:response 对象用来将信息发送回给浏览器。

你可以利用 response 对象将你的脚本 语言结果输出到浏览器上。

■server 对象:server 对象提供你运用许多 server 端的应用函数。

例如,你可以利用 server 对象来控 制你的脚本语言在超过时限前的运行时间。

你也可以利用 server 对象来创建其他对象的实例。

■session 对象:session 对象被用来存储一些普通用户其滞留期间的信息,你可以用 Session 对象来 储存一个用户在访问你的站点的滞留时间。

■ObjectContext 对象:ObjectContext 对象可以被用来控制 Active Server Pages 的执行。

这种执行过 程由 Microsoft Transaction Server(MTS)来进行管理。

内嵌对象不同于正常的对象。

在你利用内嵌对象的脚本时,你不需要首先创建一个它的实例。

在整 个网站应用中内嵌对象的所有方法、集合以及属性都是自动可访问的。

 
 

微信扫一扫 送福利