SqlClientFactory.CanCreateDataSourceEnumerator Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu, která označuje, zda SqlDataSourceEnumerator lze vytvořit.
public:
virtual property bool CanCreateDataSourceEnumerator { bool get(); };
public override bool CanCreateDataSourceEnumerator { get; }
member this.CanCreateDataSourceEnumerator : bool
Public Overrides ReadOnly Property CanCreateDataSourceEnumerator As Boolean
Hodnota vlastnosti
true
SqlDataSourceEnumerator pokud je možné vytvořit, v opačném případě false
.
Příklady
Následující příklad zobrazuje seznam všech dostupných SQL Server zdrojů dat pomocí kódu, který by mohl vytvořit výčet zdrojů dat pro libovolného zprostředkovatele.
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
Poznámky
Třída DbProviderFactory poskytuje CanCreateDataSourceEnumerator vlastnost, aby mohli dědíci určit, zda mohou poskytnout výčet zdroje dat. Zobrazí SqlClientFactory tuto vlastnost, ale její hodnota je vždy true
.