Share via


WarningEnumerator.Current Eigenschaft

Definition

Ruft das aktuelle DtsWarning-Objekt aus der Auflistung ab.

public:
 property Microsoft::SqlServer::Dts::Runtime::DtsWarning ^ Current { Microsoft::SqlServer::Dts::Runtime::DtsWarning ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.DtsWarning Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.DtsWarning
Public ReadOnly Property Current As DtsWarning

Eigenschaftswert

Das aktuelle DtsWarning-Objekt.

Beispiele

Im folgenden Codebeispiel wird dem Paket dann ein Vorgang hinzugefügt. Die Warnungssammlung wird angezeigt, indem eine WarningEnumerator warnungsbeschreibung erstellt und angezeigt wird.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask;  

namespace Microsoft.SqlServer.SSIS.Samples  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package package = new Package();  
            Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count);  

            TaskHost taskH2 = (TaskHost)package.Executables.Add("STOCK:SendMailTask");  
            taskH2.FailPackageOnFailure = false;  
            taskH2.FailParentOnFailure = false;  
            Console.WriteLine("SendMailTask: {0}", taskH2.ID);  

            // Test that warnings were successfully added to the collection.  
            package.MaximumErrorCount = 100;  
            package.FailPackageOnFailure = false;  
            package.FailParentOnFailure = false;  
            package.DelayValidation = true;  
            package.Execute();  

            Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count);  

            // Create the enumerator.  
            WarningEnumerator myEnumerator = package.Warnings.GetEnumerator();  
            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))  
                Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Description);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask  

Namespace Microsoft.SqlServer.SSIS.Samples  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim package As Package =  New Package()   
            Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count)  

            Dim taskH2 As TaskHost = CType(package.Executables.Add("STOCK:SendMailTask"), TaskHost)  
            taskH2.FailPackageOnFailure = False  
            taskH2.FailParentOnFailure = False  
            Console.WriteLine("SendMailTask: {0}", taskH2.ID)  

            ' Test that warnings were successfully added to the collection.  
            package.MaximumErrorCount = 100  
            package.FailPackageOnFailure = False  
            package.FailParentOnFailure = False  
            package.DelayValidation = True  
            package.Execute()  

            Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count)  

            ' Create the enumerator.  
            Dim myEnumerator As WarningEnumerator =  package.Warnings.GetEnumerator()   
            Console.WriteLine("The collection contains the following values:")  
            Dim i As Integer =  0   
            While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)  
            Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1  
            End While  
        End Sub  
    End Class  
End Namespace  

Beispielausgabe:

Paketwarnungen zählen vor dem Ausführen: 0

SendMailTask: {34CAEFF9-64BF-401D-B646-C88B705DB971}

Paketwarnungen zählen nach dem Ausführen des Pakets: 2

Die Auflistung enthält die folgenden Werte:

[0] Die Adresse in der Zeile "Aus" wird nicht ordnungsgemäß gebildet. Es fehlt ein @, oder es ist ungültig.

[1] Betreff ist leer

Hinweise

Nachdem ein Aufzählerator erstellt wurde, oder nachdem ein Aufruf Reset der Methode aufgerufen wurde, muss die MoveNext Methode aufgerufen werden, um den Aufzählungsator auf das erste Element der Auflistung zu aktualisieren, bevor der Aufzählungsator den Wert Current der Eigenschaft lesen kann; andernfalls Current wird eine Ausnahme ausgelöst.

Current Löst auch eine Ausnahme aus, wenn der letzte Aufruf zurückgegeben wird MoveNextfalse, der das Ende der Auflistung angibt.

Currentverschiebt die Position des Enumerators nicht, und fortlaufende Aufrufe an das Current gleiche Objekt werden erst zurückgegeben, wenn Reset sie MoveNext aufgerufen werden.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, z. B. Hinzufügen, Ändern oder Löschen von Elementen, wird der Aufzählungsator ungültig und kann nicht wiederhergestellt werden; So wird der nächste Aufruf an MoveNext oder Reset löst eine InvalidOperationException. Wenn die Auflistung zwischen MoveNext aufrufen und Currentgeändert wird, Current gibt das Element zurück, auf das er festgelegt ist, auch wenn der Aufzählungsator ungültig wurde.

Gilt für: