Condividi tramite


SqlClientFactory.CanCreateDataSourceEnumerator Proprietà

Definizione

Ottiene un valore che indica se è possibile creare l'oggetto SqlDataSourceEnumerator.

public:
 virtual property bool CanCreateDataSourceEnumerator { bool get(); };
public override bool CanCreateDataSourceEnumerator { get; }
member this.CanCreateDataSourceEnumerator : bool
Public Overrides ReadOnly Property CanCreateDataSourceEnumerator As Boolean

Valore della proprietà

true se è possibile creare un SqlDataSourceEnumerator oggetto ; in caso contrario, false.

Esempio

Nell'esempio seguente viene visualizzato un elenco di tutte le origini dati disponibili SQL Server, usando codice che potrebbe enumerare le origini dati per qualsiasi provider.

using System;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        // List all SQL Server instances:
        ListServers(SqlClientFactory.Instance);

        Console.WriteLine();
        Console.WriteLine("Press any key to continue...");
        Console.ReadKey();
    }
    private static void ListServers(DbProviderFactory factory)
    {
        // This procedure is provider-agnostic, and can list
        // instances of any provider's servers. Of course,
        // not all providers can create a data source enumerator,
        // so it's best to check the CanCreateDataSourceEnumerator
        // property before attempting to list the data sources.
        if (factory.CanCreateDataSourceEnumerator)
        {
            DbDataSourceEnumerator instance =
                factory.CreateDataSourceEnumerator();
            DataTable table = instance.GetDataSources();

            foreach (DataRow row in table.Rows)
            {
                Console.WriteLine("{0}\\{1}",
                    row["ServerName"], row["InstanceName"]);
            }
        }
    }
}
Imports System.Data
Imports System.Data.Common
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        ' List all SQL Server instances:
        ListServers(SqlClientFactory.Instance)

        Console.WriteLine()
        Console.WriteLine("Press any key to continue.")
        Console.ReadKey()
    End Sub

    Private Sub ListServers(ByVal factory As DbProviderFactory)
        ' This procedure is provider-agnostic, and can list
        ' instances of any provider's servers. Of course, 
        ' not all providers can create a data source enumerator,
        ' so it's best to check the CanCreateDataSourceEnumerator property
        ' before attempting to list the data sources.
        If factory.CanCreateDataSourceEnumerator Then
            Dim instance As DbDataSourceEnumerator = _
             factory.CreateDataSourceEnumerator
            Dim table As System.Data.DataTable = instance.GetDataSources()

            Dim row As DataRow
            For Each row In table.Rows
                Console.WriteLine("{0}\{1}", _
                 row("ServerName"), row("InstanceName"))
            Next
        End If
    End Sub
End Module

Commenti

La DbProviderFactory classe fornisce la CanCreateDataSourceEnumerator proprietà in modo che gli eredi possano indicare se possono fornire un enumeratore dell'origine dati. Visualizza SqlClientFactory questa proprietà, ma il relativo valore è sempre true.

Si applica a

Vedi anche