IDTSBufferManager100.FindColumnByLineageID(Int32, Int32) メソッド

定義

指定した IDTSBuffer100 オブジェクト内の列の場所を示すインデックスを取得します。

public:
 int FindColumnByLineageID(int hBufferType, int nLineageID);
[System.Runtime.InteropServices.DispId(121)]
public int FindColumnByLineageID (int hBufferType, int nLineageID);
[<System.Runtime.InteropServices.DispId(121)>]
abstract member FindColumnByLineageID : int * int -> int
Public Function FindColumnByLineageID (hBufferType As Integer, nLineageID As Integer) As Integer

パラメーター

hBufferType
Int32

列を含む IDTSBuffer100 オブジェクトの ID です。

nLineageID
Int32

IDTSBuffer100 で検索する列の系列 ID です。

戻り値

IDTSBuffer100 内の列の場所をインデックスで示す整数です。

属性

次のコード例では、出力列を持っていない変換コンポーネントが FindColumnByLineageID を使用してバッファー内の入力列を検索します。

int[] bufferColumnIndex;  
public override void PreExecute()  
{  
    IDTSInput100 input = ComponentMetaData.InputCollection[0];  
    bufferColumnIndex = new int[BufferManager.GetColumnCount(input.Buffer)];  

    for( int col=0; col < input.InputColumnCollection.Count; col++)  
    {  
        IDTSInputColumn100 iCol = input.InputColumnCollection[col];  
        bufferColumnIndex[col] = BufferManager.FindColumnByLineageID(input.Buffer, iCol.LineageID);  
    }  
}  
Private bufferColumnIndex As Integer()   

Public Overloads Overrides Sub PreExecute()   
 Dim input As IDTSInput100 = ComponentMetaData.InputCollection(0)   
 bufferColumnIndex = New Integer(BufferManager.GetColumnCount(input.Buffer) - 1) {}   
 Dim col As Integer = 0   
 While col < input.InputColumnCollection.Count   
   Dim iCol As IDTSInputColumn100 = input.InputColumnCollection(col)   
   bufferColumnIndex(col) = BufferManager.FindColumnByLineageID(input.Buffer, iCol.LineageID)   
   col -= 1   
 End While   
End Sub  

注釈

このメソッドは、指定した IDTSInput100IDTSOutput100 または IDTSBuffer100 の列を検索します。 バッファーのインスタンスには、グラフのコンポーネントの IDTSOutputColumn100 コレクションに定義されているすべての IDTSOutputColumnCollection100 オブジェクトが含まれるため、このメソッドが必要です。 コンポーネントは、バッファー行のその列のインデックスとして、出力列または入力列のインデックス位置を使用することに依存できません。 このため、コンポーネントは、バッファー内で列を検索するには、FindColumnByLineageID を使用する必要があります。

適用対象