技巧 6、處理資料庫日期值
1099
如果說包含引號的字串會帶來問題的話,那麼對我們的某些讀者來說向資料庫傳遞日期資料更是容易出錯。下面我們根據所用資料庫系統的類型分別解釋如何正確地完成這一任務。
問:
如何使用ASP向資料庫傳遞日期資料?
答:
答案與所用資料庫類型有關。假設我們使用名為“strDate”的變數儲存日期資料,如果使用Access資料庫,那麼產生字串的代碼為:
strSQL = " 合法的SQL命令 " & "#" & strDate & "#"
如果使用的是SQL Server、Sybase、Oracle等資料庫,則代碼為:
strSQL = "合法的SQL命令" & "'" & strDate & "'"
注意兩者的區別在於發送日期資料所用的分隔字元。Access使用“#”,而其他資料庫使用的是單引號“'”。
7、檢查Cookie是否啟用
使用者已經禁用Cookie?看來,這個使用者不那麼信任你。不過,既然他這麼樂意搞小動作,你也不妨來一下。使用下面介紹的方法,你可以檢查使用者是否已經禁用了Cookie,然後禮貌地告訴他如果要使用網站的全部功能,那麼他必須啟用Cookie。
問:
如何才能知道使用者是否關閉了Cookie?
答:
要檢查使用者是否已經關閉了Cookie,可按如下步驟進行:
設定一個Cookie。
重新導向頁面。
在重新導向頁面中讀取Cookie。
如果存在Cookie,則使用者已經啟用了Cookie;否則,說明使用者禁用了Cookie。
通過查詢字串確定當前位於步驟1還是3。
代碼執行個體如下:
Dim strCookie, strTry
strCookie = Request.Cookies("MyCookie")
strTry = Request.QueryString("Try")
If strCookie = "" Then
' Check to see if this is a redirect
' after setting the cookie
If strTry = "" Then
Response.Cookies("MyCookie") = "Set"
' Redirect to this page and try again.
Response.Redirect(Request.ServerVariables("SCRIPT_NAME")
& "?Try=Yes")
Else
' User/Browser didn't accept cookies
' Do something...
End If
Else
' -- Hooray! User is accepting cookies
' -- Delete our cookie: by setting its
' -- expiry date to waaaay back
Response.Cookies("MyCookie").Expires = "January 1, 1980"
' Do something...
End If
8、檢查檔案是否存在
如果你通過ASP來管理檔案,在處理某個檔案之前必須確認一下該檔案確實存在。下面介紹的簡單代碼可用於驗證檔案是否存在。
問:
我想訪問某個資料庫中的PDF檔案,並在HTML頁面中建立對這些檔案的連結。在重新整理連結之前,我想要驗證檔案是否確實存在。如何在ASP中實現驗證功能?
答:
在ASP中可以使用FileSystemObject的FileExists方法驗證檔案是否存在。
Dim fs, strFileNameAndPath
strFileNameAndPath = Your file name
' -- Use file name and path
' -- from the database. Remember to map it
' -- to the Web Server's point of view.
' -- Use Server.MapPath for help.
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(strFileNameAndPath) Then
' -- 檔案存在
else
' -- 檔案不存在
end if