南昌大学|中正论坛

 找回密码
 注册[30秒完成]
搜索
查看: 8129|回复: 1
打印 上一主题 下一主题

[软件] 巧用IsDbNull函数及object类型(vb.net开发)

[复制链接]
跳转到指定楼层
1#
发表于 2006-4-18 12:42:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在用vb开发平台的,我们时常会遇见这样一个问题
strName = cmbUser.SelectedItem.Value
'//
cmbUser.SelectedItem.Value = strName
上面两个语句看是正常,可是有时我们在跑动程序是“无缘无故” 在这里报错!!!
什么原因??因为vb中有种DbNull数据类型,在帮助文档里面这种函数的解释不够清晰
很多人无法立即,到这里就束手无策,咋办??
简单 可以写个函数
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
这是我们可以保证程序中不会出现有DbNuLL 类型时会出错(上面的情况只处理了字符型)
我们可以中 重载的方式来写上面的函数 这样可以处理其他的情况
但是 这样的情况下 代码会增加
怎么办??
我们利用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
需要注意的是 上面的代码中 双引号类的类型名要区分大小写 ,当然上面的写法不是最好的方法
但是可以一劳永逸
2#
发表于 2006-4-27 20:12:29 | 只看该作者

感谢

我是一名vb.net的初学者,上面的内容对我很有帮助.感谢
您需要登录后才可以回帖 登录 | 注册[30秒完成]

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

小黑屋|手机版|Archiver|南昌大学论坛 ( 琼ICP备10001196号-2 )

GMT+8, 2024-4-25 01:44 , Processed in 0.079689 second(s), 15 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

快速回复 返回顶部 返回列表