您的位置:首页精文荟萃软件资讯 → ASP进阶教程Ⅸ:留言查询功能(二)

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

时间:2004/10/7 19:17:00来源:本站整理作者:蓝点我要评论(0)

我们接上一部分继续讲解如何利用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



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

  打个比方,如果我们直接把某一个SQL命令写在ASP程序中,要知道该命令是否正确无误,我们必须启动浏览器浏览这个程序才能够测试出来,若SQL命令有错,我们必须修改ASP程序,然后再重新浏览直到正确为止;如果我们利用Command对象来执行SQL命令,则必须直到留言数据库中建立的查询完全正确才将SQL命令存储成“查询对象”,于是在ASP程序中我们只要将这个查询对象的名称指定给Command对象的CommandText参数,即可正确无误地执行SQL命令。



   


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本