對於初學者,在處理資料庫中的null資料型態是有一點麻煩的事,在這篇文章文章中我們將談談null,你將會了解到如何知道乙個值是null,哪些函式可以或不可以處理null首先,我們必須知道在vbscript中,variant是唯一的一種資料型態,對於那些已經熟悉其它語言的程式開發者,可能會感到有點不習慣。使用variant的好處在於其相當有彈性,因為variant可以儲存任何資料型別,例如,整數,字串,日期時間,甚至包括物件及陣列。然而彈性是必須付出代價的,因為指定variant可能會比指定特殊資料型別所用到的記憶體來得多
在variant資料型別中還有兩種很特殊的子型別(subtype):empty及null,事實上稱子型別可能不太恰當,因為他們並不儲存某些值,當乙個變數的資料子型別為empty或null,他們的值就是empty或null
empty
乙個變數在被宣告後,但在其被指定乙個值之前,這個變數的資料子型別就是empty,換句話說,empty就相當於"尚未初始化",我們來看看下面的例子
dimvartest
response.writetypename(vartest)
其執行結果應該為empty,因此empty可以說是乙個變數的初始資料子型別及初始值,empty只是代表乙個變數的狀態,試試下面的例子
dimvartest
response.writeclng(vartest)
response.writecstr(vartest)
第一行的程式將顯示0,因為empty被表示為整數時就是0,第二行執行之結果將是什麼都不顯示,因為當被表示為字串時empty就是empty,或可說是長度為零的字串
vartest=empty
有兩種方式你可以判斷乙個變數是否為empty
ifvartest=emptythen
response.write"thevariableisempty."
endif
或是ifisempty(vartest)then
response.write"thevariableisempty."
endif
null
null這個資料子型別和empty很類似,但不同點在於empty代表乙個變數尚未被初始化,也就是還沒有被賦予任何的值,而乙個變數為null只有在你指定它為null之後。最常遇到null的機會應該是在處理資料庫的時候,當乙個字段沒有資料時,便是null
指定和判斷null的方法與empty很類似
vartest=null
然而你只能使用isnull()函式來判斷null,這是因為null所代表的是不合法的資料,你可以試試以下的例子
dimvartest
vartest=null
ifvartest=nullthen
response.write"thevariablehasanullvalue."
endif
執行的結果並不會顯示thevariablehasanullvalue.要判斷乙個變數是否為null你應該使用isnull()函式
dimvartest
vartest=null
ifisnull(vartest)then
response.write"thevariablehasanullvalue."
endif
當你在處理由資料庫中所取出的null的資料時,你必須要很注意,因為null所代表的是不合法的資料,當某些函式在處理數**算時,null可能會製造一些麻煩,例如
dimvartest
vartest=null
vartest=clng(vartest)
執行結果你將看到"invaliduseofnull"的錯誤訊息,再看看下面的例子
dimvartest
dimlngtest
vartest=null
lngtest=2+vartest
response.writetypename(lngtest)
你會發現,null加上2還是null因此,當你從資料庫取得資料後,你應先用isnull()來判斷字段是否為null,再做適當的處理,例如
lngqty=ors("quantuty")
ifisnull(lngqty)then
lngqty=0
endif
如何正確處理中病毒後的電腦
如何正確處理中病毒後的電腦 常在河邊走,哪能不濕鞋呢?網際網路上各種病毒在不停的流竄,作為連線在網路上的電腦,儘管我們已經做了各種防範,但還是不能避免,稍不留神就會中招。而現在我們學到的多是如何防範電腦中毒的知識,但是對於已經中毒的電腦如何處理卻知之甚少。下面我們就向大家介紹中毒後一些緊急處理措施。...
關於資料庫中的NULL
1 不能對null使用等號 2 不等對null相加 相乘 結果都是null 10倍的null仍舊是null 3 不要使用特殊標記 1 0 來代替null 4 null不是字串 null string 返回null 並不是string 5 not null 返回null 並不是true 6 null ...
如何正確處理直播過程中的高併發問題
如果是網頁直播間,當前站點沒有做防盜煉的話,就很容易遭受惡意請求。而過多的惡意請求,會對本身流量就比較大的直播間造成很大負擔。比如說有a b兩個直播 a站享用了b站的資源,頁面嵌入了b站的 js css。a站並不關心b站會消耗怎樣的流量,但是對於b站來說,如果呼叫了b站的 js css。在使用者訪問...