Partilhar via


Propriedade do RDL ForEachLoop.PrecedenceConstraints

Returns a PrecedenceConstraints collection that contains all of the precedence constraints associated with the ForEachLoop.

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (em Microsoft.SqlServer.ManagedDTS.dll)

Sintaxe

'Declaração
Public ReadOnly Property PrecedenceConstraints As PrecedenceConstraints 
    Get
'Uso
Dim instance As ForEachLoop 
Dim value As PrecedenceConstraints 

value = instance.PrecedenceConstraints
public PrecedenceConstraints PrecedenceConstraints { get; }
public:
virtual property PrecedenceConstraints^ PrecedenceConstraints {
    PrecedenceConstraints^ get () sealed;
}
abstract PrecedenceConstraints : PrecedenceConstraints 
override PrecedenceConstraints : PrecedenceConstraints
final function get PrecedenceConstraints () : PrecedenceConstraints

Valor da propriedade

Tipo: Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraints
A PrecedenceConstraints collection.

Implementa

IDTSSequence.PrecedenceConstraints

Comentários

The order of execution of the objects in the collection is determined by the PrecedenceConstraints added to the container. PrecedenceConstraints allow execution branching based on the success, failure, or completion of an executable in the collection.

Exemplos

The following code example creates a ForEachLoop and sets some properties using the Properties collection. Two tasks are added to the Executables collection, and a precedence constraint is put between them.

// Create the package.
Package package = new Package();
// Add variables.
package.Variables.Add("Id", false, "User", 0);

// Create ForEachLoop task
Executables executables = package.Executables;
ForEachLoop forEachLoop = executables.Add("STOCK:FOREACHLOOP") as ForEachLoop;

// The ForEachLoop is a container. Add some task executables and
// create a precedence constraint. The tasks can run when
// certain conditions in the loop are met.
TaskHost thLoopMail = (TaskHost)forEachLoop.Executables.Add("STOCK:SendMailTask");
TaskHost thLoopInsert = (TaskHost)forEachLoop.Executables.Add("STOCK:BulkInsertTask");
Executables loopExecs = forEachLoop.Executables;
Console.WriteLine("Number of Executables in ForLoop: {0}", loopExecs.Count);

// Like other containers, precedence constraints can be set on the
// contained tasks.
PrecedenceConstraint pc = forEachLoop.PrecedenceConstraints.Add((Executable)thLoopMail, thLoopInsert);
PrecedenceConstraints pcs = forEachLoop.PrecedenceConstraints;
Console.WriteLine("Number of precedence constraints: {0}", pcs.Count);
' Create the package.
Dim package As Package =  New Package() 
' Add variables.
package.Variables.Add("Id", False, "User", 0)
 
' Create ForEachLoop task
Dim executables As Executables =  package.Executables 
Dim forEachLoop As ForEachLoop =  executables.Add("STOCK:FOREACHLOOP") as ForEachLoop 
 
' The ForEachLoop is a container. Add some task executables and
' create a precedence constraint. The tasks can run when
' certain conditions in the loop are met.
Dim thLoopMail As TaskHost = CType(forEachLoop.Executables.Add("STOCK:SendMailTask"), TaskHost)
Dim thLoopInsert As TaskHost = CType(forEachLoop.Executables.Add("STOCK:BulkInsertTask"), TaskHost)
Dim loopExecs As Executables =  forEachLoop.Executables 
Console.WriteLine("Number of Executables in ForLoop: {0}", loopExecs.Count)
 
' Like other containers, precedence constraints can be set on the
' contained tasks.
Dim pc As PrecedenceConstraint =  forEachLoop.PrecedenceConstraints.Add(CType(thLoopMail,thLoopInsert, Executable)) 
Dim pcs As PrecedenceConstraints =  forEachLoop.PrecedenceConstraints 
Console.WriteLine("Number of precedence constraints: {0}", pcs.Count)

Sample Output:

Number of Executables in ForLoop: 2

Number of precedence constraints: 1

Consulte também

Referência

ForEachLoop Classe

Namespace Microsoft.SqlServer.Dts.Runtime