Partager via


WarningEnumerator.Current Propriété

Définition

Obtient l'objet DtsWarning actuel à partir de la collection.

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

Valeur de propriété

Objet DtsWarning actuel.

Exemples

L’exemple de code suivant ajoute une tâche à un package, puis exécute le package. La collection d’avertissements est affichée en créant et WarningEnumerator en affichant chaque description d’avertissement.

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  

Exemple de sortie :

Nombre d’avertissements de package avant d’exécuter : 0

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

Nombre d’avertissements de package après l’exécution du package : 2

La collection contient les valeurs suivantes :

[0] L’adresse de la ligne From n’est pas correctement formée. Il manque un @ ou il n’est pas valide.

[1] L’objet est vide

Remarques

Une fois qu’un énumérateur est créé ou après un appel à la Reset méthode, la MoveNext méthode doit être appelée pour avancer l’énumérateur vers le premier élément de la collection avant que l’énumérateur puisse lire la valeur de la Current propriété ; sinon, Current elle n’est pas définie et lève une exception.

Current lève également une exception si le dernier appel à MoveNext renvoyer false, qui indique la fin de la collection.

Current ne déplace pas la position de l’énumérateur, et les appels consécutifs au même objet de retour jusqu’à Current ce que l’un MoveNext ou Reset l’autre soit appelé.

Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, comme l’ajout, la modification ou la suppression d’éléments, l’énumérateur est invalidé et devient irrécupérable ; par conséquent, l’appel suivant à MoveNext ou Reset lève un InvalidOperationException. Si la collection est modifiée entre les appels à MoveNext et Current, Current retourne l’élément sur lequel il est défini, même si l’énumérateur a été invalidé.

S’applique à