ForEachLoop.ForEachEnumerator ForEachLoop.ForEachEnumerator ForEachLoop.ForEachEnumerator Property

Definition

Gets or sets a host for the ForEachEnumerator.

public:
 property Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorHost ^ ForEachEnumerator { Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorHost ^ get(); void set(Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorHost ^ value); };
public Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorHost ForEachEnumerator { get; set; }
Public Property ForEachEnumerator As ForEachEnumeratorHost

Property Value

Examples

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()  

Applies to