Partager via


ForEachLoop.ForEachEnumerator Property

Gets or sets a host for the ForEachEnumerator.

Espace de noms: Microsoft.SqlServer.Dts.Runtime
Assembly: Microsoft.SqlServer.ManagedDTS (in microsoft.sqlserver.manageddts.dll)

Syntaxe

'Déclaration
Public Property ForEachEnumerator As ForEachEnumeratorHost
public ForEachEnumeratorHost ForEachEnumerator { get; set; }
public:
property ForEachEnumeratorHost^ ForEachEnumerator {
    ForEachEnumeratorHost^ get ();
    void set (ForEachEnumeratorHost^ value);
}
/** @property */
public ForEachEnumeratorHost get_ForEachEnumerator ()

/** @property */
public void set_ForEachEnumerator (ForEachEnumeratorHost value)
public function get ForEachEnumerator () : ForEachEnumeratorHost

public function set ForEachEnumerator (value : ForEachEnumeratorHost)

Valeur de propriété

Returns a ForEachEnumeratorHost.

Exemple

The following code example creates a ForEachLoop and a ForEachEnumerator from the host.

            // Create the new application and package.
            Application app = new Application();
            Package package = new Package();

            // Create ForEachLoop task
            Executables executables = package.Executables;
            ForEachLoop forEachLoop = executables.Add("STOCK:FOREACHLOOP") as ForEachLoop;
 
            // Create a VariableMappings and VariableMapping objects.
            ForEachVariableMappings forEachVariableMappings = forEachLoop.VariableMappings;
            ForEachVariableMapping forEachVariableMapping = forEachVariableMappings.Add();

            // Create a mapping between the variable and its value.
            forEachVariableMapping.VariableName = @"Id";
            forEachVariableMapping.ValueIndex = 0;

            // Create a ForEachEnumeratorInfo from the application.
            // Create a Host for the ForEachItem enumerator.
            // Set the CollectionEnumerator to true to indicate that 
            // the iteration is over a collection.
            ForEachEnumeratorInfo forEachEnumeratorInfo = app.ForEachEnumeratorInfos["Foreach Item Enumerator"];
            ForEachEnumeratorHost forEachEnumeratorHost = forEachEnumeratorInfo.CreateNew();
            forEachEnumeratorHost.CollectionEnumerator = true;

            // Create the appropriate type of ForEachEnumerator from the host.
            forEachLoop.ForEachEnumerator = forEachEnumeratorHost;

            // Setup the Collection enumerator.
            ForEachItemEnumerator forEachItemEnumerator = forEachEnumeratorHost.InnerObject as ForEachItemEnumerator;

            ForEachItem forEachItem = forEachItemEnumerator.Items.Add();
            ForEachItemValue forEachItemValue = forEachItem.Add();
            forEachItemValue.Value = 1;
            forEachItemValue = forEachItem.Add();
            forEachItemValue.Value = "A";

            // Add other tasks to ForEachLoop container
            // and set appropriate values.

            // Run the package.
            DTSExecResult status = package.Execute();
            ' Create the new application and package.
            Dim app As Application =  New Application() 
            Dim package As Package =  New Package() 
 
            ' Create ForEachLoop task
            Dim executables As Executables =  package.Executables 
            Dim forEachLoop As ForEachLoop =  executables.Add("STOCK:FOREACHLOOP") as ForEachLoop 
 
            ' Create a VariableMappings and VariableMapping objects.
            Dim forEachVariableMappings As ForEachVariableMappings =  forEachLoop.VariableMappings 
            Dim forEachVariableMapping As ForEachVariableMapping =  forEachVariableMappings.Add() 
 
            ' Create a mapping between the variable and its value.
            forEachVariableMapping.VariableName = "Id"
            forEachVariableMapping.ValueIndex = 0
 
            ' Create a ForEachEnumeratorInfo from the application.
            ' Create a Host for the ForEachItem enumerator.
            ' Set the CollectionEnumerator to true to indicate that 
            ' the iteration is over a collection.
            Dim forEachEnumeratorInfo As ForEachEnumeratorInfo =  app.ForEachEnumeratorInfos("Foreach Item Enumerator") 
            Dim forEachEnumeratorHost As ForEachEnumeratorHost =  forEachEnumeratorInfo.CreateNew() 
            forEachEnumeratorHost.CollectionEnumerator = True
 
            ' Create the appropriate type of ForEachEnumerator from the host.
            forEachLoop.ForEachEnumerator = forEachEnumeratorHost
 
            ' Setup the Collection enumerator.
            Dim forEachItemEnumerator As ForEachItemEnumerator =  forEachEnumeratorHost.InnerObject as ForEachItemEnumerator 
 
            Dim forEachItem As ForEachItem =  forEachItemEnumerator.Items.Add() 
            Dim forEachItemValue As ForEachItemValue =  forEachItem.Add() 
            forEachItemValue.Value = 1
            forEachItemValue = forEachItem.Add()
            forEachItemValue.Value = "A"
 
            ' Add other tasks to ForEachLoop container
            ' and set appropriate values.
 
            ' Run the package.
            Dim status As DTSExecResult =  package.Execute()

Sécurité des threads

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Plateformes

Plateformes de développement

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Plateformes cibles

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Voir aussi

Référence

ForEachLoop Class
ForEachLoop Members
Microsoft.SqlServer.Dts.Runtime Namespace