.net 中统一处理 Nothing DbNull Empty

 
  1. Namespace DynamicSoft.Common.Data
  2.     Public Class DbNull
  3.         '**********************************************************************************************************
  4.         '判断数据是否为 Nothing DbNull Empty 返回值如果是返回 True 否则 返回 False
  5.         '**********************************************************************************************************
  6.         Public Shared Function IsNothingDbNullEmpty(ByVal objValue As ObjectAs Boolean
  7.             If objValue Is Nothing Then
  8.                 Return True
  9.             End If
  10.             If IsDBNull(objValue) Then
  11.                 Return True
  12.             End If
  13.             If objValue Is String.Empty Then
  14.                 Return True
  15.             End If
  16.             Return False
  17.         End Function
  18.         '**********************************************************************************************************
  19.         '判断数据是否为 Nothing DbNull Empty 返回值如果是返回 True 否则 返回 False
  20.         '**********************************************************************************************************
  21.         Public Shared Function GetObjectValue(ByVal objValue As ObjectByVal objReturnValue As ObjectAs Object
  22.             If objValue Is Nothing Then
  23.                 Return objReturnValue
  24.             End If
  25.             If IsDBNull(objValue) Then
  26.                 Return objReturnValue
  27.             End If
  28.             Return objValue
  29.         End Function
  30. #Region "处理变量返回的值"
  31.         '**********************************************************************************************************
  32.         '处理字符串数据类型
  33.         '**********************************************************************************************************
  34.         Public Shared Function GetStringValue(ByVal objValue As ObjectOptional ByVal DefaultString As String = ""As String
  35.             If Not IsNothingDbNullEmpty(objValue) Then
  36.                 Return objValue
  37.             Else
  38.                 Return DefaultString
  39.             End If
  40.         End Function
  41.         '**********************************************************************************************************
  42.         '处理日期数据类型
  43.         '**********************************************************************************************************
  44.         Public Shared Function GetDateValue(ByVal objValue As ObjectOptional ByVal DefaultDate As Date = #1/1/1900#) As Date
  45.             Dim MinDate As Date = #1/1/1900#
  46.             If IsDate(objValue) AndAlso objValue > MinDate Then
  47.                 Return objValue
  48.             Else
  49.                 Return Format(DefaultDate, "yyyy-MM-dd")
  50.             End If
  51.         End Function
  52.         '**********************************************************************************************************
  53.         '处理数字类型
  54.         '**********************************************************************************************************
  55.         Public Shared Function GetNumericValue(ByVal objValue As ObjectOptional ByVal DefaultNumeric As Int64 = 0) As Int64
  56.             If IsNumeric(objValue) Then
  57.                 Dim MaxValue As String = 0
  58.                 Dim MinValue As String = 0
  59.                 Select Case objValue.GetType.ToString
  60.                     Case Is = "System.Int16"
  61.                         MaxValue = Int16.MaxValue : MinValue = Int16.MinValue
  62.                     Case Is = "System.Int32"
  63.                         MaxValue = Int32.MaxValue : MinValue = Int32.MinValue
  64.                     Case Is = "System.Int64"
  65.                         MaxValue = Int64.MaxValue : MinValue = Int64.MinValue
  66.                     Case Is = "System.Decimal"
  67.                         MaxValue = Decimal.MaxValue : MinValue = Decimal.MinValue
  68.                     Case Is = "System.Double"
  69.                         MaxValue = Double.MaxValue : MinValue = Double.MinValue
  70.                     Case Is = "System.Single"
  71.                         MaxValue = Single.MaxValue : MinValue = Single.MinValue
  72.                     Case Is = "System.Byte"
  73.                         MaxValue = Byte.MaxValue : MinValue = Byte.MinValue
  74.                     Case Is = "System.SByte"
  75.                         MaxValue = SByte.MaxValue : MinValue = SByte.MinValue
  76.                     Case Is = "System.String"
  77.                         If IsNumeric(objValue) Then
  78.                             Return objValue
  79.                         End If
  80.                 End Select
  81.                 If objValue < MaxValue AndAlso objValue > MinValue Then
  82.                     Return objValue
  83.                 Else
  84.                     Return DefaultNumeric
  85.                 End If
  86.             Else
  87.                 Return DefaultNumeric
  88.             End If
  89.         End Function
  90. #End Region
  91.     End Class
  92. End Namespace

调用例子

 

  1.         '**********************************************************************************************************
  2.         '功  能:获取一条职位内容
  3.         '参  数:JobID - 职位的JobID
  4.         '返回值:Null
  5.         '**********************************************************************************************************
  6.         Public Overrides Function GetJob(ByVal JobID As StringAs JobInfo
  7.             Dim dr As DataRow = Common.GetRecordDetails(Table, DetailsReturnField, PrimaryKeyField, JobID)
  8.             Dim jInfo As JobInfo
  9.             jInfo = New JobInfo(DbNull.GetStringValue(dr("JobID")), _
  10.                                 DbNull.GetStringValue(dr("Job")), _
  11.                                 DbNull.GetStringValue(dr("Department")), _
  12.                                 DbNull.GetNumericValue(dr("Number")), _
  13.                                 DbNull.GetStringValue(dr("City")), _
  14.                                 DbNull.GetDateValue(dr("ValidityDate")), _
  15.                                 DbNull.GetStringValue(dr("EmailInbox")), _
  16.                                 DbNull.GetStringValue(dr("Details")), _
  17.                                 DbNull.GetNumericValue(dr("Language")), _
  18.                                 DbNull.GetDateValue(dr("ModifiedDate")))
  19.             Return jInfo
  20.         End Function
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值