ErrorEnumerator.Current Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft das aktuelle DtsError-Element in der Auflistung ab.
public:
property Microsoft::SqlServer::Dts::Runtime::DtsError ^ Current { Microsoft::SqlServer::Dts::Runtime::DtsError ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.DtsError Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.DtsError
Public ReadOnly Property Current As DtsError
Eigenschaftswert
Das aktuelle DtsError-Element in der Auflistung.
Beispiele
Im folgenden Codebeispiel wird dem Paket dann ein Vorgang hinzugefügt. Die Warnungssammlung wird angezeigt, indem eine ErrorEnumerator fehlerbeschreibung erstellt und angezeigt wird.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.SendMailTask;
namespace Microsoft.SqlServer.SSIS.Samples
{
class Program
{
static void Main(string[] args)
{
Package package = new Package();
Console.WriteLine("Package errors count before running: {0}", package.Errors.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 errors count after running the package: {0}", package.Errors.Count);
// Create the enumerator.
ErrorEnumerator myEnumerator = package.Errors.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.SendMailTask
Namespace Microsoft.SqlServer.SSIS.Samples
Class Program
Shared Sub Main(ByVal args() As String)
Dim package As Package = New Package()
Console.WriteLine("Package errors count before running: {0}", package.Errors.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 errors count after running the package: {0}", package.Errors.Count)
' Create the enumerator.
Dim myEnumerator As ErrorEnumerator = package.Errors.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:
Paketfehler zählen vor dem Ausführen: 0
SendMailTask: {DE20010F-928A-4E9B-B57F-71D7991EC8F0}
Paketfehler zählen nach dem Ausführen des Pakets: 3
Die Auflistung enthält die folgenden Werte:
[0] SMTP-Server wurde nicht angegeben
[1] Kein Empfänger angegeben
[2] Während der Vorgangsüberprüfung gab es Fehler.
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 MoveNext
false
, der das Ende der Auflistung angibt.
Current verschiebt die Position des Enumerators nicht, und fortlaufende Aufrufe, um Current dasselbe Objekt zurückzugeben, bis sie entweder MoveNext
oder Reset
aufgerufen wird.
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.