影音先锋男人资源av站_狠狠色综合激情丁香五月_爱爱爱爱看视频_在线播放免费人成视频在线观看_少妇人妻综合久久中文字幕_国产午夜无码精品免费看_久久久久久夜精品精品免费啦_男人女人午夜视频免费_日本xxxx裸体xxxx_丰满人妻熟妇乱又仑精品

電子科大論壇-非清水河畔

標(biāo)題: 巧用IsDbNull函數(shù)及object類型(vb.net開發(fā)) [打印本頁]

作者: 重新來過    時間: 2006-4-18 12:42
標(biāo)題: 巧用IsDbNull函數(shù)及object類型(vb.net開發(fā))
在用vb開發(fā)平臺的,我們時常會遇見這樣一個問題
strName = cmbUser.SelectedItem.Value
'//
cmbUser.SelectedItem.Value = strName
上面兩個語句看是正常,可是有時我們在跑動程序是“無緣無故” 在這里報錯!!!
什么原因??因為vb中有種DbNull數(shù)據(jù)類型,在幫助文檔里面這種函數(shù)的解釋不夠清晰
很多人無法立即,到這里就束手無策,咋辦??
簡單 可以寫個函數(shù)
private function  DbNullTo(byval strSource as string,byval repl as string  )  as string
   if  IsDbNull(strSource) = true then
          return  repl
   else
         return strSource
  end if
end sub
這是我們可以保證程序中不會出現(xiàn)有DbNuLL 類型時會出錯(上面的情況只處理了字符型)
我們可以中 重載的方式來寫上面的函數(shù) 這樣可以處理其他的情況
但是 這樣的情況下 代碼會增加
怎么辦??
我們利用vb里面的 object 類型來試試
private function DbNullTo(byval datSource as object,byval datRepl as object ) as object
  if IsDbNull(datSource) = true then
  select case datRepl .GetType.Name
  case "Int32"   ' Integer
  return CInt(datRepl )

  case "Single" 'Single

  case  "Double" ' Double
  ....
  end select
end if
  select case datSource.GetType.Name
  case "Int32"   ' Integer
  return CInt(strDatSource)
  case "Single" 'Single
  case  "Double" ' Double
  ....
  end select
end function
需要注意的是 上面的代碼中 雙引號類的類型名要區(qū)分大小寫 ,當(dāng)然上面的寫法不是最好的方法
但是可以一勞永逸
作者: heweike    時間: 2006-4-27 20:12
標(biāo)題: 感謝
我是一名vb.net的初學(xué)者,上面的內(nèi)容對我很有幫助.感謝




歡迎光臨 電子科大論壇-非清水河畔 (http://www.hallmarkedu.com/) Powered by Discuz! X3.4