DtsEnumerator.MoveNext Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перемещает перечислитель к следующему элементу коллекции.
public:
virtual bool MoveNext();
public bool MoveNext ();
abstract member MoveNext : unit -> bool
override this.MoveNext : unit -> bool
Public Function MoveNext () As Boolean
Возвращаемое значение
Значение true, если перечислитель успешно передвигался к следующему элементу; Значение false, если перечислитель прошел конец коллекции.
Реализации
Примеры
Следующий пример кода добавляет задачу в пакет, а затем запускает пакет. Коллекция предупреждений создается путем создания WarningEnumerator, который наследует от этого DtsEnumerator класса и отображает каждое описание предупреждения с помощью Current и MoveNext методы для просмотра предупреждений в коллекции.
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
Образец вывода:
Число предупреждений пакета перед запуском: 0
SendMailTask: {34CAEFF9-64BF-401D-B646-C88B705DB971}
Количество предупреждений пакета после запуска пакета: 2
Коллекция содержит следующие значения:
[0] Адрес в строке From сформирован неправильно. Отсутствует @, или он недопустим.
[1] Тема пуста
Комментарии
После создания перечислителя или после вызова Reset метода перечислитель размещается перед первым элементом коллекции и первым вызовом MoveNext для перемещения перечислителя над первым элементом коллекции.
После завершения коллекции последующие вызовы для MoveNext возврата false
до Reset вызова.
Перечислитель является допустимым до тех пор, пока коллекция остается неизменной. Если в коллекцию вносятся изменения, такие как добавление, изменение или удаление элементов, перечислитель неустранимо является недействительным, а следующий вызов MoveNext или вызов вызывает InvalidOperationException
исключение Reset .