【发布时间】:2012-11-22 07:53:11
【问题描述】:
请看下面的代码(处理空值的问题)
Dts.Variables("File_Name").Value = Framework.GetValue("FileName")
Dts.Variables("File_Id").Value = Framework.GetValue("FileName")
Dts.Variables("File_Name").Value - Data type defined in STRING
Dts.Variables("File_Id").Value - Data type defined in INTEGER
Framework.GetValue - 返回STRING(获取存储在数据库中的值)
问题 - 当 Framework.GetValue 因为数据库中不存在值而没有返回任何内容时,它会在 SSIS 脚本组件中引发错误。如何捕获NULL是我们面临的问题
公共函数 GetValue(ByVal FetchParameter As String) As String
Dim lGetValue As String = String.Empty
Using Conn New SqlConnection(ConnString)
SQLCommand = New SqlCommand("ParameterValues", _ETLFrameworkConn)
SQLCommand.CommandText = "Select ParamValue from ParameterValues where Parameter_Name=@ParameterField"
SQLCommand.Parameters.Add(New SqlParameter("@ParameterField").Value SqlDbType.NVarChar))
SQLCommand.Parameters("@ParameterField").Value = FetchParameter
Try
Conn.Open()
lGetValue = SQLCommand.ExecuteScalar()
Catch ex As Exception
End Try
End Using
Return lGetValue
结束函数
问候
【问题讨论】:
-
你遇到了什么错误?
-
你能在你的 GetValue() 方法中发布代码吗?我认为您需要在返回之前检查 DBNULL.value 的值。
-
我已经添加了代码,你可以看看。