DTSBufferManagerClass.FindColumnByLineageID(Int32, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan lokasi kolom dalam objek yang ditentukan IDTSBuffer100 .
public:
virtual int FindColumnByLineageID(int hBufferType, int nLineageID) = Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSBufferManager100::FindColumnByLineageID;
public virtual int FindColumnByLineageID (int hBufferType, int nLineageID);
abstract member FindColumnByLineageID : int * int -> int
override this.FindColumnByLineageID : int * int -> int
Public Overridable Function FindColumnByLineageID (hBufferType As Integer, nLineageID As Integer) As Integer
Parameter
- hBufferType
- Int32
ID IDTSBuffer100 objek yang berisi kolom.
- nLineageID
- Int32
ID silsilah kolom untuk ditemukan di IDTSBuffer100.
Mengembalikan
Bilangan bulat yang menunjukkan lokasi, menurut indeks, kolom di IDTSBuffer100.
Penerapan
Contoh
Contoh kode berikut menunjukkan bagaimana komponen transformasi yang tidak memiliki kolom output menggunakan FindColumnByLineageID untuk menemukan kolom inputnya di buffer.
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
Keterangan
Metode ini menemukan kolom dari atau IDTSInput100IDTSOutput100 dalam yang ditentukan IDTSBuffer100. Metode ini diperlukan karena instans buffer berisi semua IDTSOutputColumn100 objek yang ditentukan dalam IDTSOutputColumnCollection100 komponen dalam grafik. Komponen tidak dapat mengandalkan penggunaan lokasi indeks kolom output atau kolom input sebagai indeks kolom tersebut dalam baris buffer. Karena itu, komponen harus menggunakan FindColumnByLineageID metode untuk menemukan kolom di buffer.