PrecedenceConstraints.Item[Object] Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein PrecedenceConstraint-Objekt aus der Auflistung ab.
public:
property Microsoft::SqlServer::Dts::Runtime::PrecedenceConstraint ^ default[System::Object ^] { Microsoft::SqlServer::Dts::Runtime::PrecedenceConstraint ^ get(System::Object ^ index); };
public Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraint this[object index] { get; }
member this.Item(obj) : Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraint
Default Public ReadOnly Property Item(index As Object) As PrecedenceConstraint
Parameter
- index
- Object
Der Name oder Index bzw. die ID, der bzw. die in der Auflistung gesucht werden soll.
Eigenschaftswert
Ein PrecedenceConstraint-Objekt aus der Auflistung.
Beispiele
Im folgenden Codebeispiel werden zwei Vorrangeinschränkungen erstellt. Anschließend wird verwendetContains, um das Vorhandensein einer bestimmten Einschränkung zu überprüfen, die Anzahl der Einschränkungen vor und nach der Verwendung der Remove Methode zu zählen, und zeigt, wie sie mithilfe GetEnumerator der Syntax pConsts[i].ID
ID der Einschränkung die Auflistung Item[] durchlaufen.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;
namespace PrecedenceConst
{
class Program
{
static void Main(string[] args)
{
Package pkg = new Package();
// Add a File System task.
Executable eFileTask1 = pkg.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileTask1 = eFileTask1 as TaskHost;
// Add a second File System task.
Executable eFileTask2 = pkg.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileTask2 = eFileTask2 as TaskHost;
// Add a Bulk Insert task.
Executable eBulkInsert = pkg.Executables.Add("STOCK:BulkInsertTask");
TaskHost thBulkInsert = eBulkInsert as TaskHost;
// Add a precedence constraint between eFileTask1 and eFileTask2.
// Set the constraint to be that eFileTask2 cannot run
// until eFileTask1 completes.
PrecedenceConstraint pcFileTasks = pkg.PrecedenceConstraints.Add(eFileTask1, eFileTask2);
pcFileTasks.Name = "constraint between File System Tasks";
// Add another precedence constraint. Add it between eFileTask2 and BulkInsert.
// Again, set the constraint to be that BulkInsert cannot run
// until eFileTask2 completes.
PrecedenceConstraint pcFiletoBulk = pkg.PrecedenceConstraints.Add(eFileTask2, eBulkInsert);
pcFileTasks.Name = "constraint between File System and Bulk Insert Tasks";
// Obtain the precedence constraint collection.
PrecedenceConstraints pConsts = pkg.PrecedenceConstraints;
Boolean containsConstraint = pkg.PrecedenceConstraints.Contains("constraint between File System and Bulk Insert Tasks");
Console.WriteLine("Contains the constraint between File System and Bulk Insert Tasks? {0}", containsConstraint);
// Create the enumerator.
PrecedenceConstraintEnumerator myEnumerator = pConsts.GetEnumerator();
// Iterate over the collection, and remove the Bulk Insert task.
int i = 0;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
{
Console.WriteLine("ID {0}", pConsts[i].ID);
}
Console.WriteLine("Number of constraints {0}", pConsts.Count);
// Remove the second contstraint.
pConsts.Remove(1);
// Verify that one has been removed.
Console.WriteLine("Number of constraints {0}", pConsts.Count);
Console.WriteLine();
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Namespace PrecedenceConst
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As Package = New Package()
' Add a File System task.
Dim eFileTask1 As Executable = pkg.Executables.Add("STOCK:FileSystemTask")
Dim thFileTask1 As TaskHost = eFileTask1 as TaskHost
' Add a second File System task.
Dim eFileTask2 As Executable = pkg.Executables.Add("STOCK:FileSystemTask")
Dim thFileTask2 As TaskHost = eFileTask2 as TaskHost
' Add a Bulk Insert task.
Dim eBulkInsert As Executable = pkg.Executables.Add("STOCK:BulkInsertTask")
Dim thBulkInsert As TaskHost = eBulkInsert as TaskHost
' Add a precedence constraint between eFileTask1 and eFileTask2.
' Set the constraint to be that eFileTask2 cannot run
' until eFileTask1 completes.
Dim pcFileTasks As PrecedenceConstraint = pkg.PrecedenceConstraints.Add(eFileTask1,eFileTask2)
pcFileTasks.Name = "constraint between File System Tasks"
' Add another precedence constraint. Add it between eFileTask2 and BulkInsert.
' Again, set the constraint to be that BulkInsert cannot run
' until eFileTask2 completes.
Dim pcFiletoBulk As PrecedenceConstraint = pkg.PrecedenceConstraints.Add(eFileTask2,eBulkInsert)
pcFileTasks.Name = "constraint between File System and Bulk Insert Tasks"
' Obtain the precedence constraint collection.
Dim pConsts As PrecedenceConstraints = pkg.PrecedenceConstraints
Dim containsConstraint As Boolean = pkg.PrecedenceConstraints.Contains("constraint between File System and Bulk Insert Tasks")
Console.WriteLine("Contains the constraint between File System and Bulk Insert Tasks? {0}", containsConstraint)
' Create the enumerator.
Dim myEnumerator As PrecedenceConstraintEnumerator = pConsts.GetEnumerator()
' Iterate over the collection, and remove the Bulk Insert task.
Dim i As Integer = 0
While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)
Console.WriteLine("ID {0}", pConsts(i).ID)
End While
Console.WriteLine("Number of constraints {0}", pConsts.Count)
' Remove the second contstraint.
pConsts.Remove(1)
' Verify that one has been removed.
Console.WriteLine("Number of constraints {0}", pConsts.Count)
Console.WriteLine()
End Sub
End Class
End Namespace
Beispielausgabe:
Enthält die Einschränkung zwischen Dateisystem und Masseneinfügungsaufgaben? True
ID {BA42AF32-3AC1-4CB6-85A2-289760ADBFA4}
ID {BA42AF32-3AC1-4CB6-85A2-289760ADBFA4}
Anzahl der Einschränkungen 2
Anzahl der Einschränkungen 1
Hinweise
Wenn der Aufruf der Contains Methode zurückgegeben wird true
, können Sie mithilfe der Syntax PrecedenceConstraints[index]
auf das angegebene Element in der Auflistung zugreifen. Wenn die Contains Methode jedoch zurückgibt false
, löst diese Eigenschaft eine Ausnahme aus. In C# ist diese Eigenschaft der Indexer für die PrecedenceConstraints-Klasse.