在ASP中處理數(shù)據(jù)庫的NULL記錄_第1頁
在ASP中處理數(shù)據(jù)庫的NULL記錄_第2頁
在ASP中處理數(shù)據(jù)庫的NULL記錄_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、    在許多時候我們使用ASP+數(shù)據(jù)庫進(jìn)行網(wǎng)站編程的時候,會遇上讀取某記錄出來和另外一些變量進(jìn)行運(yùn)算的情況,如果取的記錄數(shù)據(jù)為NULL值,那么可能會造成程序返回錯誤結(jié)果,如果每個讀記錄的語句后都加上判斷語句,程序又顯得拖沓,因此,我認(rèn)為編寫一個專用的函數(shù)對讀取的記錄進(jìn)行自動或半自動識別是很好的辦法。    根據(jù)VBscript的數(shù)據(jù)類型定義,結(jié)合利用VarType函數(shù),構(gòu)造以下自動處理函數(shù)InitdataType, 輸入兩個參數(shù),要處理數(shù)據(jù)本身(theDate)和準(zhǔn)備輸出的數(shù)據(jù)類型(theReturnType,整

2、數(shù)型): theReturnType強(qiáng)制返回的數(shù)據(jù)類型 ,同VarType返回值定義的意義一樣, 'theReturnType 如果忽略: 返回同theDate一樣的數(shù)據(jù)類型.   比較常見的NULL返回,對于字符串型返回空字符串,對各種于數(shù)值返回0值,對于邏輯值返回FALSE(假),對于日期返回最早的日期函數(shù)程序:Function InitdataType(theDate,theReturnType) '返回或強(qiáng)制指示變量子類型的值。theDate 參數(shù)可以是任何變量。 'theReturnType(整數(shù)型): 強(qiáng)制返

3、回的數(shù)據(jù)類型 ,同VarType返回值定義的意義一樣 'theReturnType 如果忽略: 返回同theDate一樣的數(shù)據(jù)類型. '下面引用的函數(shù)VarType(varname)會返回指示變量子類型的值。,varname 參數(shù)可以是任何變量。 'VarType函數(shù)返回值的意義如下: 'vbEmpty 0 Empty(未初始化)  'vbNull  1 Null(無有效數(shù)據(jù))  'vbInteger 2 整數(shù)  'vbLong&

4、#160; 3 長整數(shù)  'vbSingle 4 單精度浮點(diǎn)數(shù)  'vbDouble 5 雙精度浮點(diǎn)數(shù)  'vbCurrency 6 貨幣  'vbDate   7 日期  'vbString  8 字符串  'vbObject  9 Automation 對象  'vbError  10 錯誤  'vbBoolean &#

5、160;11 Boolean  'vbVariant  12 Variant(只和變量數(shù)組一起使用)  'vbDataObject 13 數(shù)據(jù)訪問對象  'vb?   14 小數(shù)  'vbByte   17 字節(jié)  'vbArray  8192 數(shù)組  On Error Resume Next 'Err.Clear    dim n_dat

6、aType,vo_ReData,vo_renewdata,c_TypeName    n_dataType = VarType(theDate) 'c_TypeName = TypeName(theDate) If n_dataType<2 then   if isNumeric(theReturnType) then   Select Case theReturnType    case 1    &

7、#160;vo_renewdata=NULL    case 2     vo_renewdata=0    case 3     vo_renewdata=0    case 4     vo_renewdata=0    case 5    &#

8、160;vo_renewdata=0    case 6     vo_renewdata=0    case 7     vo_renewdata=0    case 8     vo_renewdata=""    case 11   

9、  vo_renewdata=DEF_False    case 14     vo_renewdata=0    case 17     vo_renewdata=chr(0)    case else     vo_renewdata=theDate   end Select

10、  else   vo_renewdata=theDate  end if else  if isNumeric(theReturnType) then   Select Case theReturnType    case 0     vo_renewdata=Empty    case 1    

11、; vo_renewdata=NULL    case 2     if isNumeric(theDate) then       vo_renewdata=cInt(theDate)     else      vo_renewdata=Eval("0+" & theDate &"

12、;")       if not isNumeric(vo_renewdata) then vo_renewdata=0     end if    case 3     if isNumeric(theDate) then       vo_renewdata=cLng(theDate)   &#

13、160; else      vo_renewdata=Eval("0+" & theDate &"")       if not isNumeric(vo_renewdata) then vo_renewdata=0     end if    case 4     if isNumeric(theDate) then       vo_renewdata=cSng(theDate)     else      vo_renewdata=Eval("0+" & theDate &"")       if not isNumeric

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論