WarningEnumerator.Current Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é.