ConnectionEnumerator.Current Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient l'objet ConnectionManager en cours dans la collection Connections.
public:
property Microsoft::SqlServer::Dts::Runtime::ConnectionManager ^ Current { Microsoft::SqlServer::Dts::Runtime::ConnectionManager ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.ConnectionManager Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.ConnectionManager
Public ReadOnly Property Current As ConnectionManager
Valeur de propriété
Objet ConnectionManager.
Exemples
L’exemple de code suivant crée un énumérateur, puis utilise les méthodes et MoveNext
les Current méthodes pour parcourir la collection.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace ConnMgr_GetEnum_Current
{
class Program
{
static void Main(string[] args)
{
// The package is one of the SSIS Samples.
string mySample = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
// Create the application, and load the sample.
Application app = new Application();
Package pkg = app.LoadPackage(mySample, null);
// Get the Connections collection from the package.
Connections conns = pkg.Connections;
//Create the Enumerator.
ConnectionEnumerator myEnumerator = conns.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Name);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace ConnMgr_GetEnum_Current
Class Program
Shared Sub Main(ByVal args() As String)
' The package is one of the SSIS Samples.
Dim mySample As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
' Create the application, and load the sample.
Dim app As Application = New Application()
Dim pkg As Package = app.LoadPackage(mySample,Nothing)
' Get the Connections collection from the package.
Dim conns As Connections = pkg.Connections
'Create the Enumerator.
Dim myEnumerator As ConnectionEnumerator = conns.GetEnumerator()
Console.WriteLine("The collection contains the following values:")
Dim i As Integer = 0
While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)
Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1
End While
End Sub
End Class
End Namespace
Exemple de sortie :
La collection contient les valeurs suivantes :
[0] localhost. Adventureworks
[1] Résumé des transactions par Product1
Remarques
Une fois qu’un énumérateur est créé ou après un appel à la Reset
méthode, la MoveNext
méthode doit être appelée pour avancer l’énumérateur vers le premier élément de la collection avant de lire la valeur de la Current propriété ; sinon, Current elle n’est pas définie et lève une exception.
Current lève également une exception si le dernier appel à MoveNext
renvoyer false
, qui indique la fin de la collection.
Current ne déplace pas la position de l’énumérateur, et les appels consécutifs pour renvoyer le même objet jusqu’à Current ce que l’un MoveNext
ou Reset
l’autre soit appelé.
Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, comme l’ajout, la modification ou la suppression d’éléments, l’énumérateur est invalidé et devient irrécupérable ; par conséquent, l’appel suivant à MoveNext
ou Reset
lève un InvalidOperationException
. Si la collection est modifiée entre les appels à MoveNext
et Current, Current retourne l’élément sur lequel il est défini, même si l’énumérateur a été invalidé.