Metoda DtsEnumerator.MoveNext
Moduł wyliczający przechodzi do następnego elementu kolekcja.
Przestrzeń nazw: Microsoft.SqlServer.Dts.Runtime
Zestaw: Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)
Składnia
'Deklaracja
Public Function MoveNext As Boolean
'Użycie
Dim instance As DtsEnumerator
Dim returnValue As Boolean
returnValue = instance.MoveNext()
public bool MoveNext()
public:
virtual bool MoveNext() sealed
abstract MoveNext : unit -> bool
override MoveNext : unit -> bool
public final function MoveNext() : boolean
Wartość zwracana
Typ: System.Boolean
TRUE , jeśli moduł wyliczający został pomyślnie zaawansowane do następnego elementu; FALSE , jeśli moduł wyliczający minął koniec kolekcja.
Implementacje
Uwagi
Po utworzeniu moduł wyliczający lub po wywołaniu Reset metoda moduł wyliczający jest umieszczony przed pierwszym elementem kolekcja, a pierwsze wywołanie MoveNext Przenosi modułu wyliczającego nad pierwszym elementem kolekcja.
Po zakończeniu kolekcja jest przekazana, kolejne wywołania MoveNext zwrotu false aż do Reset jest nazywany.
Moduł wyliczający zachowuje ważność tak długo, jak długo kolekcja pozostaje niezmieniony.Jeśli zmian do kolekcja, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający bezpowrotnie unieważniona i wywołanie następnego MoveNext lub Reset generuje InvalidOperationException.
Przykłady
Poniższy przykład kodu dodaje zadanie do pakietu, a następnie uruchamia pakiet.Kolekcja ostrzeżenia jest tworzony przez tworzenie WarningEnumerator, która dziedziczy to DtsEnumerator klasy i wyświetla każde ostrzeżenie przy użyciu opisu Current i MoveNext metod, aby przejrzeć ostrzeżenia w kolekcji.
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
Przykładowe dane wyjściowe:
Pakiet liczba ostrzeżeń przed uruchomieniem: 0
SendMailTask: {34CAEFF9-64BF-401 D-B646-C88B705DB971}
Liczba ostrzeżeń pakiet po uruchomieniu tego pakietu: 2
Kolekcja zawiera następujące wartości:
[0] Adres w wierszu od nie jest poprawnie uformowany.Jest brak @ lub nie jest prawidłowy.
[1] Podmiotu jest pusty