Asp-Classic
ASP Classic 檢查 Recordset 中的數據庫 NULL 值
我得到一個 ADODB 記錄集,我需要檢查 ASP Classic 中可為空的列的值。如何判斷它是否為空?ASP Classic 中不存在 AFAIK IsDBNull,所有 Null 測試人員都詢問對像是否為空,而不是其值。
例如,我有
RS包含 column 的RecordsetRS("myCol")。在數據庫中,myCol 是一個可為空的位,因此值可以是{0, 1, NULL}.我該如何測試
RS("myCol") = NULL?看來,如果我從字面上執行該比較,它只會告訴我對象 RS(“myCol”) 是否為 Null,而不是請求的欄位的值是否為 “database” null。
試試這個,如果您使用的是 MS SQL,它應該可以工作
IF IsNull(RS("myCol")) = False THEN IF RS("myCol") THEN Response.Write "myCol is TRUE" ELSE Response.Write "myCol is False" END IF ELSE Response.Write "myCol is NULL" END IF或嘗試使用
IF RS("myCol")<>"" THEN IF RS("myCol") THEN Response.Write "myCol is TRUE" ELSE Response.Write "myCol is False" END IF ELSE Response.Write "myCol is NULL" END IF
myCol對於類型為 的數據庫列,包含該列nullable bit的 Recordset 將出現以下情況:RS
- 如果數據庫值為 0,則
RS("myCol") = Empty = False = 0- 如果數據庫值為 1,則
RS("myCol") = True = 1- 如果數據庫值為 Null,則
IsNull(RS("myCol")) = True = 1.另一種解決方案:
- 如果數據庫值為 0 則
Len(RS("myCol")&"") = 5- 如果數據庫值為 1 則
Len(RS("myCol")&"") = 4- 如果數據庫值為 Null 則
Len(RS("myCol")&"") = 0