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 vytvoří dva připojovací řetězce, jeden pro databázi Microsoft Jet a druhý pro databázi SQL Server. V každém případě kód používá obecnou DbConnectionStringBuilder třídu k vytvoření připojovacího DbConnectionStringBuilder řetězce a pak předá ConnectionString vlastnost instance konstruktoru třídy připojení silného typu. To není nutné; 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.

static void Main()
{
    DbConnectionStringBuilder builder =
        new DbConnectionStringBuilder();
    builder.ConnectionString = @"Data Source=c:\MyData\MyDb.mdb";
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
    builder.Add("Jet OLEDB:Database Password", "*******");
    builder.Add("Jet OLEDB:System Database",
        @"c:\MyData\Workgroup.mdb");
    // 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 may 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);user id=*******;" +
        "password=*******;initial catalog=AdventureWorks";
    builder["Server"] = ".";
    builder.Remove("User ID");

    // Note that calling Remove on a nonexistent item doesn't
    // throw an exception.
    builder.Remove("BadItem");

    // Setting the indexer adds the value if
    // necessary.
    builder["Integrated Security"] = true;
    builder.Remove("password");
    builder["User ID"] = "Hello";
    Console.WriteLine(builder.ConnectionString);

    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
}
Sub Main()
    Dim builder As New DbConnectionStringBuilder()
    builder.ConnectionString = "Data Source=c:\MyData\MyDb.mdb"
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
    builder.Add("Jet OLEDB:Database Password", "*******")
    builder.Add("Jet OLEDB:System Database", _
        "c:\MyData\Workgroup.mdb")

    ' 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);user id=*******;" & _
        "password=*******;initial catalog=AdventureWorks"
    builder.Item("Server") = "."
    builder.Remove("User ID")

    ' Note that calling Remove on a nonexistent item doesn't
    ' throw an exception.
    builder.Remove("BadItem")

    ' The Item property is the default for the class, 
    ' and setting the Item property adds the value if 
    ' necessary.
    builder("Integrated Security") = True
    builder.Remove("password")
    builder.Item("User ID") = "Hello"
    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 sestavit existující připojovací řetězce.

Objekt DbConnectionStringBuilder byl definován způsobem, který není založený na databázi. Z důvodu přidání System.Data.Common oboru názvů vyžadují vývojáři základní třídu, proti které mohou programovat, aby vytvořili připojovací řetězce, které mohou pracovat s libovolnou databází. DbConnectionStringBuilder Třída proto umožňuje uživatelům přiřazovat libovolné páry klíč/hodnota a předávat výsledný připojovací řetězec zprostředkovateli silného typu. Všichni zprostředkovatelé dat, kteří jsou součástí rozhraní .NET Framework, poskytují třídu silného typu, která dědí z DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuildera OleDbConnectionStringBuilder.

Vývojář může sestavovat, přiřazovat a upravovat připojovací řetězce pro libovolného poskytovatele. Pro zprostředkovatele, kteří podporují konkrétní páry klíč/hodnota, poskytuje tvůrce připojovacích řetězců vlastnosti silného typu odpovídající známým párům. Za účelem podpory poskytovatelů, kteří vyžadují možnost podporovat neznámé hodnoty, mohou vývojáři také zadat libovolné páry klíč/hodnota.

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

Vývojáři, kteří potřebují vytvořit připojovací řetězce jako součást aplikací, můžou k sestavení a úpravě připojovacích řetězců použít DbConnectionStringBuilder třídu nebo některou z jejích odvozených ze silného typu. Třída DbConnectionStringBuilder také usnadňuje správu připojovacích řetězců uložených v konfiguračním souboru aplikace.

Vývojáři můžou vytvářet připojovací řetězce pomocí třídy tvůrce připojovacích řetězců silného typu, nebo mohou použít DbConnectionStringBuilder třídu . Nástroj DbConnectionStringBuilder neprovádí žádné kontroly platných párů klíč/hodnota. Proto je možné pomocí této třídy vytvořit neplatné připojovací řetězce. Podporuje SqlConnectionStringBuilder pouze páry klíč-hodnota, které jsou podporovány SQL Server; pokus o přidání neplatných párů vyvolá výjimku.

Add Metoda i Item[] popisovač vlastnosti se pokusí vložit škodlivé položky. Například následující kód správně umisuje do vnořené dvojice 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 ConnectionString je vlastnost 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 vlastnosti ConnectionString .

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 objektu DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

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

AppendKeyValuePair(StringBuilder, String, String, Boolean)

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

Clear()

Vymaže obsah DbConnectionStringBuilder instance.

ClearPropertyDescriptors()

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

ContainsKey(String)

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

Equals(Object)

Určí, zda se zadaný objekt rovná 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í hashovací funkce.

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

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

GetType()

Type Získá z aktuální instance.

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

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

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

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

ShouldSerialize(String)

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

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 objektu ICollectionArraydo , počínaje konkrétním Array indexem.

ICollection.IsSynchronized

Získá hodnotu označující, zda přístup k objektu ICollection je synchronizován (bezpečný pro přístup z více vláken).

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 filtr.

ICustomTypeDescriptor.GetProperties()

Vrátí vlastnosti pro tuto instanci komponenty.

ICustomTypeDescriptor.GetProperties(Attribute[])

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

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Vrátí objekt, který obsahuje vlastnost popsanou zadaným popisovačem 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()

IDictionaryEnumerator Vrátí objekt pro IDictionary objekt .

IDictionary.IsFixedSize

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

IDictionary.IsReadOnly

Získá hodnotu, která určuje, zda je IDictionary určena 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()

Vrací enumerátor procházející kolekci.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také