Sdílet prostřednictvím


DbConnectionStringBuilder Třída

Definice

Poskytuje základní třídu pro tvůrce připojovacích řetězců silného typu.

public ref class DbConnectionStringBuilder : System::Collections::IDictionary
public ref class DbConnectionStringBuilder : System::Collections::IDictionary, System::ComponentModel::ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
type DbConnectionStringBuilder = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
    interface ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface ICustomTypeDescriptor
Public Class DbConnectionStringBuilder
Implements IDictionary
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
Dědičnost
DbConnectionStringBuilder
Odvozené
Implementuje

Příklady

Následující konzolová aplikace sestaví dva připojovací řetězce, jeden pro databázi Microsoft Jet a druhý pro databázi SQL Serveru. V každém případě kód používá obecnou třídu DbConnectionStringBuilder k vytvoření připojovacího řetězce a pak předá vlastnost ConnectionString instance DbConnectionStringBuilder konstruktoru třídy připojení silného typu. To není povinné; kód mohl také vytvořit jednotlivé instance tvůrce připojovacích řetězců silného typu. Příklad také analyzuje existující připojovací řetězec a ukazuje různé způsoby manipulace s obsahem připojovacího řetězce.

DbConnectionStringBuilder builder =
    new DbConnectionStringBuilder();
builder.ConnectionString = @"Data Source=c:\MyData\MyDb.mdb";
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
// Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1);

// The DbConnectionStringBuilder class
// is database agnostic, so it's possible to
// build any type of connection string using
// this class.

// The ConnectionString property might have been
// formatted by the DbConnectionStringBuilder class.
OleDbConnection oledbConnect = new
    OleDbConnection(builder.ConnectionString);
Console.WriteLine(oledbConnect.ConnectionString);

// Use the same DbConnectionStringBuilder to create
// a SqlConnection object.
builder.Clear();
builder.Add("integrated security", true);
builder.Add("Initial Catalog", "AdventureWorks");
builder.Add("Data Source", "(local)");

SqlConnection sqlConnect = new
    SqlConnection(builder.ConnectionString);
Console.WriteLine(sqlConnect.ConnectionString);

// Pass the DbConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString = "server=(local);initial catalog=AdventureWorks";
builder["Server"] = ".";

// Setting the indexer adds the value, if necessary.
builder["Integrated Security"] = true;
Console.WriteLine(builder.ConnectionString);
Sub Main()
    Dim builder As New DbConnectionStringBuilder()
    builder.ConnectionString = "Data Source=c:\MyData\MyDb.mdb"
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")

    ' Set up row-level locking.
    builder.Add("Jet OLEDB:Database Locking Mode", 1)

    ' Note that the DbConnectionStringBuilder class
    ' is database agnostic, and it's possible to
    ' build any type of connection string using
    ' this class.
    ' Notice that the ConnectionString property may have been
    ' formatted by the DbConnectionStringBuilder class.

    Dim oledbConnect As New _
        OleDbConnection(builder.ConnectionString)
    Console.WriteLine(oledbConnect.ConnectionString)

    ' Use the same DbConnectionStringBuilder to create
    ' a SqlConnection object.
    builder.Clear()
    builder.Add("integrated security", True)
    builder.Add("Initial Catalog", "AdventureWorks")
    builder.Add("Data Source", "(local)")

    Dim sqlConnect As New SqlConnection(builder.ConnectionString)
    Console.WriteLine(sqlConnect.ConnectionString)

    ' Pass the DbConnectionStringBuilder an existing
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = "server=(local);initial catalog=AdventureWorks"
    builder.Item("Server") = "."

    ' The Item property is the default for the class,
    ' and setting the Item property adds the value if
    ' necessary.
    builder("Integrated Security") = True
    Console.WriteLine(builder.ConnectionString)

    Console.WriteLine("Press Enter to finish.")
    Console.ReadLine()
End Sub

Poznámky

Třída DbConnectionStringBuilder poskytuje základní třídu, ze které jsou odvozeni tvůrci připojovacích řetězců silného typu (SqlConnectionStringBuilder, OleDbConnectionStringBuilderatd.). Tvůrci připojovacích řetězců umožňují vývojářům programově vytvářet syntakticky správné připojovací řetězce a parsovat a znovu sestavovat stávající připojovací řetězce.

DbConnectionStringBuilder byla definována nezávislou na databázi. Vzhledem k přidání oboru názvů System.Data.Common vyžadují vývojáři základní třídu, proti které mohou programovat, aby mohli vytvářet připojovací řetězce, které můžou pracovat s libovolnou databází. Třída DbConnectionStringBuilder proto umožňuje uživatelům přiřadit libovolné páry klíč/hodnota a předat výsledný připojovací řetězec poskytovateli silného typu. Všichni poskytovatelé dat, kteří jsou součástí rozhraní .NET, nabízejí třídu silného typu, která dědí z DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuildera OleDbConnectionStringBuilder.

Můžete vytvářet, přiřazovat a upravovat připojovací řetězce pro libovolného zprostředkovatele. Pro zprostředkovatele, kteří podporují konkrétní páry klíč/hodnota, tvůrce připojovacího řetězce poskytuje vlastnosti silného typu odpovídající známým párům. Pro poskytovatele, kteří vyžadují možnost podporovat neznámé hodnoty, můžete také zadat libovolné páry klíč/hodnota.

Třída DbConnectionStringBuilder implementuje rozhraní ICustomTypeDescriptor. To znamená, že třída pracuje s návrháři sady Visual Studio v době návrhu. Když vývojáři používají návrháře k sestavení datových sad silného typu a připojení silného typu v sadě Visual Studio, třída tvůrce připojovacích řetězců silného typu zobrazí vlastnosti přidružené k jeho typu a má také převaděče, které mohou mapovat běžné hodnoty známých klíčů.

Pokud potřebujete vytvořit připojovací řetězce jako součást aplikací, použijte DbConnectionStringBuilder třídu nebo některý z jeho derivátů silného typu k sestavení a úpravě připojovacích řetězců. Třída DbConnectionStringBuilder také usnadňuje správu připojovacích řetězců uložených v konfiguračním souboru aplikace.

Připojovací řetězce můžete vytvořit pomocí třídy tvůrce připojovacích řetězců silného typu nebo třídy DbConnectionStringBuilder. DbConnectionStringBuilder neprovádí žádné kontroly platných párů klíč/hodnota. Proto je možné při použití této třídy vytvořit neplatné připojovací řetězce. SqlConnectionStringBuilder podporuje pouze páry klíč/hodnota podporované SQL Serverem. při pokusu o přidání neplatných dvojic dojde k výjimce.

Metoda Add i Item[] vlastnost zpracovávají případy, kdy se špatný objekt actor pokusí vložit škodlivé položky. Například následující kód správně unikne páru vnořených klíč/hodnota:

Dim builder As New System.Data.Common.DbConnectionStringBuilder
builder("Data Source") = "(local)"
builder("integrated sSecurity") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";

Výsledkem je následující připojovací řetězec, který bezpečně zpracovává neplatnou hodnotu:

data source=(local);integrated security=True;
initial catalog="AdventureWorks;NewValue=Bad"

Konstruktory

DbConnectionStringBuilder()

Inicializuje novou instanci DbConnectionStringBuilder třídy.

DbConnectionStringBuilder(Boolean)

Inicializuje novou instanci DbConnectionStringBuilder třídy, volitelně pomocí pravidel ODBC pro uvozování hodnot.

Vlastnosti

BrowsableConnectionString

Získá nebo nastaví hodnotu, která označuje, zda je vlastnost ConnectionString viditelná v návrhářích sady Visual Studio.

ConnectionString

Získá nebo nastaví připojovací řetězec přidružený k DbConnectionStringBuilder.

Count

Získá aktuální počet klíčů, které jsou obsaženy v ConnectionString vlastnost.

IsFixedSize

Získá hodnotu, která označuje, zda DbConnectionStringBuilder má pevnou velikost.

IsReadOnly

Získá hodnotu, která označuje, zda DbConnectionStringBuilder je jen pro čtení.

Item[String]

Získá nebo nastaví hodnotu přidruženou k zadanému klíči.

Keys

Získá ICollection, který obsahuje klíče v DbConnectionStringBuilder.

Values

Získá ICollection, který obsahuje hodnoty v DbConnectionStringBuilder.

Metody

Add(String, Object)

Přidá položku se zadaným klíčem a hodnotou do DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Poskytuje efektivní a bezpečný způsob připojení klíče a hodnoty k existujícímu objektu StringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

Poskytuje efektivní a bezpečný způsob připojení klíče a hodnoty k existujícímu objektu StringBuilder.

Clear()

Vymaže obsah instance DbConnectionStringBuilder.

ClearPropertyDescriptors()

Vymaže kolekci PropertyDescriptor objektů v přidružené DbConnectionStringBuilder.

ContainsKey(String)

Určuje, zda DbConnectionStringBuilder obsahuje konkrétní klíč.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
EquivalentTo(DbConnectionStringBuilder)

Porovná informace o připojení v tomto DbConnectionStringBuilder objektu s informacemi o připojení v zadaném objektu.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetProperties(Hashtable)

Vyplní zadaný Hashtable informacemi o všech vlastnostech tohoto DbConnectionStringBuilder.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Remove(String)

Odebere položku se zadaným klíčem z instance DbConnectionStringBuilder.

ShouldSerialize(String)

Určuje, zda zadaný klíč existuje v této instanci DbConnectionStringBuilder.

ToString()

Vrátí připojovací řetězec přidružený k tomuto DbConnectionStringBuilder.

TryGetValue(String, Object)

Načte hodnotu odpovídající zadanému klíči z tohoto DbConnectionStringBuilder.

Explicitní implementace rozhraní

ICollection.CopyTo(Array, Int32)

Zkopíruje prvky ICollection do Arraypočínaje konkrétním indexem Array.

ICollection.IsSynchronized

Získá hodnotu označující, zda je přístup k ICollection synchronizován (bezpečné vlákno).

ICollection.SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k ICollection.

ICustomTypeDescriptor.GetAttributes()

Vrátí kolekci vlastních atributů pro tuto instanci komponenty.

ICustomTypeDescriptor.GetClassName()

Vrátí název třídy této instance komponenty.

ICustomTypeDescriptor.GetComponentName()

Vrátí název této instance komponenty.

ICustomTypeDescriptor.GetConverter()

Vrátí převaděč typů pro tuto instanci komponenty.

ICustomTypeDescriptor.GetDefaultEvent()

Vrátí výchozí událost pro tuto instanci komponenty.

ICustomTypeDescriptor.GetDefaultProperty()

Vrátí výchozí vlastnost pro tuto instanci komponenty.

ICustomTypeDescriptor.GetEditor(Type)

Vrátí editor zadaného typu pro tuto instanci komponenty.

ICustomTypeDescriptor.GetEvents()

Vrátí události pro tuto instanci komponenty.

ICustomTypeDescriptor.GetEvents(Attribute[])

Vrátí události pro tuto instanci komponenty pomocí zadaného pole atributů jako filtru.

ICustomTypeDescriptor.GetProperties()

Vrátí vlastnosti pro tuto instanci komponenty.

ICustomTypeDescriptor.GetProperties(Attribute[])

Vrátí vlastnosti pro tuto instanci komponenty pomocí pole atributů jako filtru.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Vrátí objekt, který obsahuje vlastnost popsanou popisovačem zadané vlastnosti.

IDictionary.Add(Object, Object)

Přidá prvek se zadaným klíčem a hodnotou do objektu IDictionary.

IDictionary.Contains(Object)

Určuje, zda IDictionary objekt obsahuje prvek se zadaným klíčem.

IDictionary.GetEnumerator()

Vrátí objekt IDictionaryEnumerator pro objekt IDictionary.

IDictionary.IsFixedSize

Získá hodnotu určující, zda IDictionary objekt má pevnou velikost.

IDictionary.IsReadOnly

Získá hodnotu určující, zda IDictionary je jen pro čtení.

IDictionary.Item[Object]

Získá nebo nastaví prvek se zadaným klíčem.

IDictionary.Remove(Object)

Odebere prvek se zadaným klíčem z objektu IDictionary.

IEnumerable.GetEnumerator()

Vrátí enumerátor, který iteruje kolekcí.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Platí pro

Viz také