山云文库
当前位置:首页 » ASP的多条件动态查询 » 正文

ASP的多条件动态查询

2013-05-13 17:09:21

详解linq动态条件查询(附实例) - asp.net教程 - 新客
详解linq动态条件查询(附实例) - asp.net教程 - 新客ASP的多条件动态查询

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)来停止管理。

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

在你应用内嵌对象的脚本时,你不需求首先创立一个它的实例。

在整 个网站运用中内嵌对象的全部办法、集合以及属性基本上自动可访咨询的。