国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

如何正確處理數據庫中的Null

2019-11-18 19:58:38
字體:
來源:轉載
供稿:網友
   對于初學者, 在處理數據庫中的 Null 資料型態是有一點麻煩的事, 在這篇文章文章中我們將談談 Null , 你將會了解到如何知道一個值是 Null , 哪些函數可以或不可以處理 Null  首先, 我們必須知道在 VBScript 中, Variant 是唯一的一種資料型態, 對于那些已經熟悉其它語言的程序開發者, 可能會感到有點不習慣。 使用 Variant 的好處在于其相當有彈性, 因為 Variant 可以儲存任何數據類型, 例如, 整數, 字符串, 日期時間, 甚至包括對象及數組。然而彈性是必須付出代價的, 因為指定 Variant 可能會比指定特殊數據類型所用到的內存來得多 
在 Variant 數據類型中還有兩種很特殊的子類型 (Subtype): Empty 及 Null, 事實上稱子類型可能不太恰當, 因為他們并不儲存某些值, 當一個變量的資料子類型為 Empty 或 Null, 他們的值就是 Empty 或 Null 
Empty 
一個變量在被宣告后, 但在其被指定一個值之前, 這個變量的資料子類型就是 Empty, 換句話說, Empty 就相當于"尚未初始化", 我們來看看下面的例子 
Dim varTest 
Response.Write TypeName(varTest) 
其執行結果應該為 Empty, 因此 Empty 可以說是一個變量的初始資料子類型及初始值, Empty 只是代表一個變量的狀態, 試試下面的例子 
Dim varTest 
Response.Write CLng(varTest) 
Response.Write CStr(varTest) 
第一行的程序將顯示 0, 因為 Empty 被表示為整數時就是 0, 第二行執行之結果將是什么都不顯示, 因為當被表示為字符串時 Empty 就是 Empty, 或可說是長度為零的字符串 
當一個變量被指定一個值后, 它便不再是 Empty, 它將是其它的子類型, 依資料的類型而有所不同, 當然, 你還是可以利用 Empty 這 個關鍵詞將這變量變回 Empty 子類型 
varTest = Empty 
有兩種方式你可以判斷一個變量是否為 Empty 
If varTest = Empty Then 
  Response.Write "The variable is empty." 
End If 
或是 
If IsEmpty(varTest) Then 
  Response.Write "The variable is empty." 
End If 
Null 
Null 這個資料子類型 和 Empty 很類似, 但不同點在于 Empty 代表一個變量尚未被初始化, 也就是還沒有被賦予任何的值, 而一個變量為 Null 只有在你指定它為 Null 之后。最常遇到 Null 的機會應該是在處理數據庫的時候, 當一個字段沒有資料時, 便是 Null 
指定和判斷 Null 的方法與 Empty 很類似 
varTest = Null 
然而你只能使用 IsNull() 函數來判斷 Null, 這是因為 Null 所代表的是不合法的資料, 你可以試試以下的例子 
Dim varTest 
varTest = Null 
If varTest = Null Then 
  Response.Write "The variable has a Null value." 
End If 
執行的結果并不會顯示 The variable has a Null value. 要判斷一個變量是否為 Null 你應該使用 IsNull() 函數 
Dim varTest 
varTest = Null 
If IsNull(varTest) Then 
  Response.Write "The variable has a Null value." 
End If 
當你在處理由數據庫中所取出的 Null 的資料時, 你必須要很注意, 因為 Null 所代表的是不合法的資料, 當某些函數在處理數學運算時, Null 可能會制造一些麻煩, 例如 
Dim varTest 
varTest = Null 
varTest = CLng(varTest) 
執行結果你將看到 "Invalid Use of Null" 的錯誤訊息, 再看看下面的例子 
Dim varTest 
Dim lngTest 
varTest = Null 
lngTest = 2 + varTest 
Response.Write TypeName(lngTest) 
你會發現, Null 加上 2 還是 Null 因此, 當你從數據庫取得資料后, 你應先用 IsNull() 來判斷字段是否為 Null, 再做適當的處理, 例如 
lngQty = oRs("Quantuty") 
If IsNull(lngQty) Then 
  lngQty = 0 
End If 
希望這篇文章對你有幫助! 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌什县| 信丰县| 清涧县| 芦溪县| 石狮市| 邯郸县| 屯昌县| 东源县| 禄丰县| 大渡口区| 保亭| 石门县| 南靖县| 南城县| 长泰县| 长兴县| 紫云| 双桥区| 休宁县| 福州市| 永吉县| 彰武县| 城口县| 格尔木市| 焉耆| 含山县| 共和县| 乐陵市| 射洪县| 屏山县| 连山| 资阳市| 正阳县| 竹山县| 全南县| 临猗县| 寿宁县| 丰都县| 增城市| 西青区| 苏州市|