|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
在应用中,有时候会要求按照日期来排列数据,并且还会需要简朴的按日期来检索数据,比如在页面上加入一个跳转菜单,包含数据的日期列表,然后选择日期后传递日期参数跳转。这种做法在没有日期的时候应该显示哪一天的数据呢? 通常会用“DATE()”作为没有参数情况下的选择,就是显示当天的数据,但假如当天没有数据呢? “DATE()-1”?好像不能解决问题。 先看看Dreamweaver MX 自动生成记录集的SQL代码: SCSJ.Source = "SELECT * FROM dbo.MCIS_生产数据 WHERE 日期 = \\\'" + Replace(SCSJ__MMColParam, "\\\'", "\\\'\\\'") + "\\\' ORDER BY 日期 DESC" 在日期字段的过滤上使用了“=”,大家都知道假如是文本类型的话可以使用“LIKE”操作符配合“%”来获得所有记录,假如可以做到,那么在没有日期参数传递的情况下就显示所有的记录倒是不错的选择。 这里的实现方式就是修改Dreamweaver MX 自动生成的记录集代码,加入判定,当URL参数不存在的时候,记录集SQL过滤使用“LIKE”操作符获得所有记录,否则使用“=”操作符获得属于参数日期的记录。 下面是代码,应该很好理解的。 <% Dim SCSJ__MMColParam SCSJ__MMColParam = "%" If (Request.QueryString("MCISDATE") <> "") Then SCSJ__MMColParam = Request.QueryString("MCISDATE") End If %> <% Dim SCSJ Dim SCSJ_numRows Set SCSJ = Server.CreateObject("ADODB.Recordset") SCSJ.ActiveConnection = MM_jbcjsql_STRING If (Request.QueryString("MCISDATE") <> "") Then SCSJ.Source = "SELECT * FROM dbo.MCIS_生产数据 WHERE 日期 = \\\'" + Replace(SCSJ__MMColParam, "\\\'", "\\\'\\\'") + "\\\' ORDER BY 日期 DESC" ELSE SCSJ.Source = "SELECT * FROM dbo.MCIS_生产数据 WHERE 日期 LIKE \\\'" + Replace(SCSJ__MMColParam, "\\\'", "\\\'\\\'") + "\\\' ORDER BY 日期 DESC" END IF SCSJ.CursorType = 0 SCSJ.CursorLocation = 2 SCSJ.LockType = 1 SCSJ.Open() SCSJ_numRows = 0 %> 返回类别: 教程 上一教程: 用ASP实现在线压缩与解压缩 下一教程: EVENT对象详解 您可以阅读与"在记录集中加入判定使之灵活"相关的教程: · 防止别人在QUERYSTRING中加入DELETE或其他字符删除你的数据库内容 · 在ASP中轻松实现记录集分页显示 · 在ASP中使用断开的记录集 · 在您的网站中加入互动功能 · 分栏显示记录集的表格演示,并实现了分页 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |