當(dāng)前位置: 首頁(yè)IT技術(shù) → 在記錄集中加入判斷的實(shí)例分享

在記錄集中加入判斷的實(shí)例分享

更多

本文跟大家介紹的是關(guān)于在記錄集中加入判斷使之靈活的實(shí)例分享,對(duì)ASP有興趣的朋友可以學(xué)習(xí)學(xué)習(xí)。

在應(yīng)用中,有時(shí)候會(huì)要求按照日期來(lái)排列數(shù)據(jù),并且還會(huì)需要簡(jiǎn)單的按日期來(lái)檢索數(shù)據(jù),比如在頁(yè)面上加入一個(gè)跳轉(zhuǎn)菜單,包含數(shù)據(jù)的日期列表,然后選擇日期后傳遞日期參數(shù)跳轉(zhuǎn)。這種做法在沒(méi)有日期的時(shí)候應(yīng)該顯示哪一天的數(shù)據(jù)呢?
  通常會(huì)用“DATE()”作為沒(méi)有參數(shù)情況下的選擇,就是顯示當(dāng)天的數(shù)據(jù),但如果當(dāng)天沒(méi)有數(shù)據(jù)呢?
  “DATE()-1”?似乎不能解決問(wèn)題。
  先看看dreamweaver MX 自動(dòng)生成記錄集的SQL代碼:
  
  SCSJ.Source = "SELECT * FROM dbo.MCIS_生產(chǎn)數(shù)據(jù) WHERE 日期 = '" + Replace(SCSJ__MMColParam, "'", "''") + "' ORDER BY 日期 DESC"
  
  在日期字段的過(guò)濾上使用了“=”,大家都知道如果是文本類(lèi)型的話(huà)可以使用“LIKE”操作符配合“%”來(lái)獲得所有記錄,如果可以做到,那么在沒(méi)有日期參數(shù)傳遞的情況下就顯示所有的記錄倒是不錯(cuò)的選擇。
  這里的實(shí)現(xiàn)方法就是修改Dreamweaver MX 自動(dòng)生成的記錄集代碼,加入判斷,當(dāng)URL參數(shù)不存在的時(shí)候,記錄集SQL過(guò)濾使用“LIKE”操作符獲得所有記錄,否則使用“=”操作符獲得屬于參數(shù)日期的記錄。
  
  下面是代碼,應(yīng)該很好理解的。
  <%
  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_生產(chǎn)數(shù)據(jù) WHERE 日期 = '" + Replace(SCSJ__MMColParam, "'", "''") + "' ORDER BY 日期 DESC"
  ELSE
  SCSJ.Source = "SELECT * FROM dbo.MCIS_生產(chǎn)數(shù)據(jù) WHERE 日期 LIKE '" + Replace(SCSJ__MMColParam, "'", "''") + "' ORDER BY 日期 DESC"
  END IF
  SCSJ.CursorType = 0
  SCSJ.CursorLocation = 2
  SCSJ.LockType = 1
  SCSJ.Open()
  
  SCSJ_numRows = 0
  %>

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱(chēng):
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)