推薦:ASP實例:Access為后臺數據庫的網站統計系統一個能對訪問者進行編號、記錄訪問次數、IP、時間的統計制作實例 我以ACCESS庫為例子,其實用SQL SERVER庫也只要改一下鏈接庫的語句就得啦,庫結構如下 庫文件名: CONT.ASP 本來是CONT.
有時我們需要查詢出某字段沒有值的全部記錄,那應該用rs("xx")=""還是IsNull(rs("xx"))呢?要得出結論,我們還得從頭說起:什么情況下字段中會沒有值?因為這和我們的結論關系密切。
一、什么造成字段中沒有值?
我們建一個表來測試下,表中只有兩個字段id(自動編號)和aa(文本):
1.將aa字段"允許空字符串"屬性設置為否,測試結果
rs("aa") = "mzwu.com" ---> 添加成功
rs("aa") = "" ---> 字段 't8.aa' 不能是零長度的字符串。
rs("aa")=Empty ---> 添加成功
rs("aa") = Null ---> 添加成功
2.將aa字段"允許空字符串"屬性設置為是,測試結果
rs("aa") = "mzwu.com" ---> 添加成功
rs("aa") = "" ---> 添加成功
rs("aa")=Empty ---> 添加成功
rs("aa") = Null ---> 添加成功
經上邊測試后數據庫中表記錄如下:
從上邊的測試結果中我們不難得出結論,造成字段沒有值可能是下邊四種情況之一:
● rs("aa") = ""
● rs("aa")=Empty
● rs("aa") = Null
● 當表中存在多個字段時,部分字段添加值,部分字段未添加時也會造成字段沒有值
二、rs("aa")="" or IsEmpty(rs("aa")) or IsNull(rs("aa"))
針對第一節結論中的四種情況,我們分別對其值用rs("aa")="" 、 IsEmpty(rs("aa")) 、IsNull(rs("aa"))進行測試,得出結果:
1.測試rs("aa") = ""
rs("aa")="" '結果True
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa")) '結果False
2.測試rs("aa")=Empty
rs("aa")="" '結果-
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa")) '結果True
3.測試rs("aa")=Null
rs("aa")="" '結果-
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa")) '結果True
4.測試未添加值的字段
rs("aa")="" '結果-
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa")) '結果True
OK,現在我們已經不難得出結論了:
當使用rs("xx") = ""添加字段值時,我們應用rs("xx")=""來判斷它是否沒值;
當使用rs("aa")=Null 或rs("aa")=Empty添加字段值或沒給字段添加值時,我們應用IsNull(rs("xx"))來判斷它是否沒值;
所以,為了得到準確的結果,當要查詢字段沒有值的全部記錄時應使用:rs("xx")="" or IsNull(rs("xx"))
2007-09-14:對于沒有值的字段,rs("xx")&""=""結果都為True,與添加方式無關,因而可直接用rs("xx")&""=""代替rs("xx")="" or IsNull(rs("xx"))
原文:http://www.mzwu.com/article.asp?id=1071
分享:動態網頁愛好者來看:Asp過濾HTML的函數Asp過濾Html代碼 以下為引用的內容: Function RemoveHTML(strHTML) Dim objRegExp, Match, Matches Set objRegExp = New Regexp obj