DtsEventHandlers.GetEnumerator 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.
Mengembalikan enumerator untuk digunakan dalam iterasi pada DtsEventHandlers koleksi.
public:
Microsoft::SqlServer::Dts::Runtime::DtsEventHandlerEnumerator ^ GetEnumerator();
public Microsoft.SqlServer.Dts.Runtime.DtsEventHandlerEnumerator GetEnumerator ();
override this.GetEnumerator : unit -> Microsoft.SqlServer.Dts.Runtime.DtsEventHandlerEnumerator
Public Function GetEnumerator () As DtsEventHandlerEnumerator
Mengembalikan
DtsEventHandlerEnumerator untuk digunakan dalam iterasi atas koleksi.
Contoh
Sampel kode berikut membuat dua penanganan aktivitas untuk paket. Untuk satu penanganan aktivitas, dua tugas ditambahkan.
DtsEventHandlerEnumerator Kemudian dibuat dari Package``EventHandlers koleksi, dan menggunakan Current metode dan MoveNext untuk menavigasi koleksi.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.SendMailTask;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;
namespace DtsEventHandler_API
{
class Program
{
static void Main(string[] args)
{
Package pkg = new Package();
// Set up a DtsEventHandler for the OnError event of the package.
DtsEventHandler dtsEHOE = (DtsEventHandler)pkg.EventHandlers.Add("OnError");
DtsEventHandler dtsEHW = (DtsEventHandler)pkg.EventHandlers.Add("OnWarning");
// When an OnError Event occurs, the Executables collection contains
// the items to run. For this example, there will be a SendMailtTask
// and a BulkInsertTask with a precedence constraint between them.
Executable dtsEH1 = dtsEHOE.Executables.Add("STOCK:SendMailTask");
TaskHost th = (TaskHost)dtsEH1;
SendMailTask smTask = (SendMailTask)th.InnerObject;
smTask.Subject = "Send Mail task";
// Add a second executable to the DtsEventHandler.
Executable dtsEH2 = dtsEHOE.Executables.Add("STOCK:BulkInsertTask");
TaskHost th2 = (TaskHost)dtsEH2;
//Create the Enumerator. Since we added the DtsEventhandler to the
// package, then that's where to get the EventHandlers collection.
DtsEventHandlerEnumerator myEnum = pkg.EventHandlers.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
while ((myEnum.MoveNext()) && (myEnum.Current != null))
Console.WriteLine("[{0}] {1}", i++, myEnum.Current.Name);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.SendMailTask
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Namespace DtsEventHandler_API
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As Package = New Package()
' Set up a DtsEventHandler for the OnError event of the package.
Dim dtsEHOE As DtsEventHandler = CType(pkg.EventHandlers.Add("OnError"), DtsEventHandler)
Dim dtsEHW As DtsEventHandler = CType(pkg.EventHandlers.Add("OnWarning"), DtsEventHandler)
' When an OnError Event occurs, the Executables collection contains
' the items to run. For this example, there will be a SendMailtTask
' and a BulkInsertTask with a precedence constraint between them.
Dim dtsEH1 As Executable = dtsEHOE.Executables.Add("STOCK:SendMailTask")
Dim th As TaskHost = CType(dtsEH1, TaskHost)
Dim smTask As SendMailTask = CType(th.InnerObject, SendMailTask)
smTask.Subject = "Send Mail task"
' Add a second executable to the DtsEventHandler.
Dim dtsEH2 As Executable = dtsEHOE.Executables.Add("STOCK:BulkInsertTask")
Dim th2 As TaskHost = CType(dtsEH2, TaskHost)
'Create the Enumerator. Since we added the DtsEventhandler to the
' package, then that's where to get the EventHandlers collection.
Dim myEnum As DtsEventHandlerEnumerator = pkg.EventHandlers.GetEnumerator()
Console.WriteLine("The collection contains the following values:")
Dim i As Integer = 0
While (myEnum.MoveNext()) &&(myEnum.Current <> Nothing)
Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1
End While
End Sub
End Class
End Namespace
Contoh Output:
Koleksi berisi nilai berikut:
[0] OnError
[1] OnWarning
Keterangan
Kontainer tempat Anda mengulangi koleksi EventHandlers adalah kontainer tempat peristiwa ditambahkan. Misalnya, jika menulis baris kode ini, DtsEventHandler dtsEHOE = (DtsEventHandler)pkg.EventHandlers.Add("OnError");, maka GetEnumerator akan ada dalam pkg.EventHandlers koleksi. Jika peristiwa ditambahkan ke Sequence kontainer menggunakan Add metode pengumpulan Sequence's``EventHandlers , ambil kembali enumerator dari Sequence koleksi penanganan aktivitas.