1

これは単純な問題だと思いますが、2つの列を新しい出力列に結合しようとしていますが、うまくいきませんでした。「オブジェクトのインスタンスに設定されていないオブジェクト参照」を取得するたびに。エラー

これが私のコードです:

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

Public Class ScriptMain
    Inherits UserComponent

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        '
        ' Add your code here
        '
        Dim tmpStr As String
        tmpStr = ""
        If Not IsNumeric(Row.addrmap.ToString) Then
            tmpStr = Row.addrmap.ToString.Substring(Row.addrmap.ToString.Length - 2, 1)
            tmpStr = Row.addrmap.ToString.Remove(Row.addrmap.ToString.Length - 2, 1).PadLeft(3, CChar("0")) & " " & tmpStr.PadLeft(3, CChar("0")) & " " & Row.addrpar.ToString

        Else
            tmpStr = Row.addrmap.ToString.PadLeft(3, CChar("0")) & " " & "000 " & Row.addrpar.ToString
        End If
        Row.addrMapPar = tmpStr
    End Sub

End Class

助けてくれてありがとう!

4

2 に答える 2

4

私は問題を理解しました!それはデータのNULLと関係がありました。私はデータを提供しませんでした。データを解析しているだけで、知らないNULLがいくつかあることがわかりました。

それを修正するために、私は使用しました:

If Row.addrmap_IsNull = False and Row.addrpar_IsNull = False Then
...
End If
于 2011-03-08T16:39:02.487 に答える
3

スクリプトコンポーネントタスクの[入力と出力]プロパティペインに新しい出力列を追加しましたか? ここに画像の説明を入力してください

于 2011-03-07T19:19:19.840 に答える