DtsEnumerator.MoveNext Methode
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.
Setzt den Enumerator auf das nächste Element der Auflistung.
public:
virtual bool MoveNext();
public bool MoveNext ();
abstract member MoveNext : unit -> bool
override this.MoveNext : unit -> bool
Public Function MoveNext () As Boolean
Gibt zurück
true, wenn der Aufzählungsator erfolgreich zum nächsten Element erweitert wurde; false, wenn der Aufzählungsator das Ende der Auflistung übergeben hat.
Implementiert
Beispiele
Im folgenden Codebeispiel wird einem Paket eine Aufgabe hinzugefügt, und anschließend wird das Paket ausgeführt. Die Warnungssammlung wird erstellt, indem sie ein WarningEnumerator, das von dieser DtsEnumerator Klasse erbt, und zeigt jede Warnungsbeschreibung mithilfe Current und MoveNext Methoden an, um die Warnungen in der Auflistung zu überprüfen.
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 der Ausführung: 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 "Von" wird nicht richtig gebildet. Es fehlt ein @, oder es ist ungültig.
[1] Betreff ist leer
Hinweise
Nachdem ein Aufzählungsator erstellt oder nach dem Aufruf der Reset Methode aufgerufen wurde, wird ein Aufzählungsator vor dem ersten Element der Auflistung positioniert, und der erste Aufruf, um den Aufzählungsator über das erste Element der Auflistung zu MoveNext verschieben.
Nachdem das Ende der Auflistung übergeben wurde, werden nachfolgende Aufrufe zurückgegeben, bis MoveNextfalse
Reset sie 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 unwiderruflich ungültig und der nächste Aufruf MoveNextReset oder löst einen InvalidOperationException
.