1

我有一个从 VB 迁移到 VB.NET 的应用程序。在 VB 代码中,Trim 函数已用于数据库中的值,在很多地方。由于 VB Trim 可以传播 NULL,因此不会引发错误。现在,当代码迁移到 .NET 时,相同的 Trim 函数会抛出错误,因为它不支持 .NET 中的 NULL 传播。如何在一个地方更改代码时解决这个问题?如果我必须在所有地方使用 Convert.ToString,这将是一项乏味的工作。有什么开箱即用的建议吗?数据库是 DB2

 Sample:
   VB:
   res = Trim(rs("Name").Value)
    num = Len(rs("Name").Value)

   Converted VB.NET Code
   rs("Name").Trim()
   rs("Name").Length  
4

2 回答 2

4

DBNull.ToString返回一个空字符串。所以做一个全局查找/替换

.Trim(

.ToString().Trim(

于 2013-05-13T19:27:06.960 回答
0

创建一个模块并创建一个公共函数广​​告如下:

Public function IfNull(ByVal oObj as Object, byval oRetVal as Object) as Object
    If oObj = Nothing orelse oObj = dbvalue.null then
       Return oRetval
    End if

    Try
       Return oObj.ToString.Trim()
    Catch ex as exception
    End try
End function

我用手机,当我有我的笔记本电脑时,我会努力让它变得更好

你知道你需要什么,但对我来说将所有内容都转换为 String 并不是最好的做法......

于 2013-05-13T19:33:52.510 回答