|
在应用中,有时候会要求按照日期来排列数据,并且还会需要简单的按日期来检索数据,比如在页面上加入一个跳转菜单,包含数据的日期列表,然后选择日期后传递日期参数跳转。这种做法在没有日期的时候应该显示哪一天的数据呢? 通常会用“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 %> |
|
|
|
|
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
|
|
| |
|
|
|
|
| 本网转载作品均注明出处,如转载作品侵犯作者署名权,并非出于本网故意,在接到相关权利人通知后会加以更正。欢迎批评指正QQ:281579348 183186468 |