次の方法で共有


ForEachLoop.ForEachEnumerator Property

ForEachEnumerator のホストを取得します。値の設定も可能です。

名前空間: Microsoft.SqlServer.Dts.Runtime
アセンブリ: Microsoft.SqlServer.ManagedDTS (microsoft.sqlserver.manageddts.dll 内)

構文

'宣言
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)

プロパティ値

ForEachEnumeratorHost を返します。

使用例

次のコード例では、ForEachLoop と ForEachEnumerator をホストから作成します。

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

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

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