次の方法で共有


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

定義

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
nLineageID
Int32

戻り値

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 を使用してバッファー内の列を検索する必要があります。

適用対象