当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP进阶教程Ⅸ:留言查询功能(二)

ASP
ASP 3.0高级编程(二十七)
ASP 3.0高级编程(二十八)
ASP 3.0高级编程(二十九)
ASP 3.0高级编程(三十)
ASP中时间函数的使用(一)
ASP中时间函数的使用(二)
ASP中时间函数的使用(三)
.NET之ASP WebApplication快速入门(1)
.NET之ASP WebApplication快速入门(2)
.NET之ASP WebApplication快速入门(3)
.NET之ASP WebApplication快速入门(4)
.NET之ASP WebApplication快速入门(5)
asp.NET特写
ASP 3.0高级编程(七)
ASP 3.0高级编程(八)
ASP.NET 入门的五个步骤
ASP 组件指南
XML 数据的编码方式
ASP 3.0高级编程(九)
ASP 3.0高级编程(十)

ASP进阶教程Ⅸ:留言查询功能(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 35 ::
收藏到网摘: n/a

  我们接上一部分继续讲解如何利用Command对象来执行SQL命令,实现“留言记录日期查询”和“留言簿过去五天留言记录查询”。但在应用Command对象来执行SQL命令之前我们必须在留言数据库中先建立查询,假如我们要查询的是“留言簿过去五天留言记录”,那么在留言数据库中建立查询的具体方法如下所示。(对于数据库,在Access中可以建立五种不同类型的查询,因为我们要查询两个日期之间的留言记录,因此我在这里只以“使用‘设计’视图建立参数查询”为例,当然你也可以“使用向导建立查询”。使用“设计”视图建立查询要比使用向导灵活得多,例如,在“设计”视图中,既可以建立像“选择查询”之类的简单查询,又可以建立像“参数查询”和“操作查询”之类的复杂查询,而且在“查询设计网格”中既能够增加、移动、插入和删除字段,也能够设置准则和排序次序,计算总和和平均值,等等)

  在Access中,使用‘设计’视图建立参数查询:
  一、打开留言数据库,在“数据库”窗口中单击“查询”选项卡,然后单击“新建”按钮 。
  二、在“新建查询”对话框中,单击“设计视图”,然后单击“确定”按钮。
  三、在“显示表”对话框中,选择“表”选项卡,然后单击“添加按钮或者双击“guestbook”表的名称,将它添加到“查询”窗口中,然后关闭“显示表”的对话框。
  四、在“guestbook”表的字段列表中,单击“ID”字段的字段名,按住鼠标不放,将它拖到“查询设计网格”的第一列。同样,可以将“姓名”、“电话”、“EMAIL”、“主题”、“留言”和“时间”字段的字段名依次拖到“查询设计网格”的其它各列中。
  五、在作为参数使用的“时间”字段下的“准则”单元格中,键入下列表达式:
Between[请键入开始日期]And[请键入结束日期]。
  六、单击工具栏上的“保存”按钮保存查询,这时会弹出一个“另存为”的对话框,我们在“另存为”对话框中输入该查询表的名称“留言记录日期查询”,然后单击“确定”按钮。 

  在留言数据库中建立了查询后,我们接下来将利用Command对象来执行日期查询的SQL命令编写如下(Date.asp):
< !--#include file="adovbs.inc" -->
< !--#include file="Search.asp" -->
< %
Head="留言簿查询"
start=Request("start")
last=Request("last")
'读取用户输入的数据,然后指定给start及last变量
If start="" Then start = #99-10-1#
If last="" Then last = #99-12-30#
'如果用户没有输入查询的开始时间和结束时间时,在“开始时间”和“结束时间”的查询框中显示这里定义的缺省值 99-10-1和99-12-30
% >
< h2 Align="Center"> < %=Head%>< /h2>
< hr noshade color="red">
< %
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("book2.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandText = "留言记录日期查询"
'将 Connection对象及SQL命令设置给Command对象的ActiveConnection属性以及 CommandText属性
ReDim param(1)
'声明含有两个元素的数组,因为该“留言日期查询”必须有查询的起始时间和结束时间,所以在这里必须声明一个含有两个元素的数组
param(0) = CDate(start)
param(1) = CDate(last)
Set rs = cmd.Execute( ,param )
'将start及last变量指定给param数组,然后传入cmd.Execute函数中,在这里函数cmd.Execute含有两个参数,其中第一个参数是用于希望返回的数据记录数,这里缺省表示希望返回所有的数据记录;参数二“param”是SQL命令的参数。
Search rs
%>
< hr noshade color="red"> < div align="center">
< a href="Datesearch.asp" class="text2">返回留言查询< /a>
  同理,利用Command对象来执行SQL命令,实现“留言簿过去五天留言记录查询”的原理与上述实现“留言记录日期查询”的原理是一样的,我们可以编写如下所示:
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("book2.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandText = "留言簿过去五天留言记录"
Set rs = cmd.Execute
Search rs

  至此,两种实现查询的方法我们都已学习过了,大家能说出它们存在着什么区别吗?
  打个比方,如果我们