DbConnectionStringBuilder Třída

Definice

Poskytuje základní třídu pro tvůrce připojovací řetězec 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žije obecnou DbConnectionStringBuilder třídu k vytvoření připojovací řetězec a pak předá ConnectionString vlastnost DbConnectionStringBuilder instance konstruktoru třídy připojení silného typu. To není povinné. kód mohl také vytvořit jednotlivé instance tvůrce silného typu připojovací řetězec. Příklad také analyzuje existující připojovací řetězec a ukazuje různé způsoby manipulace s obsahem připojovací řetězec.

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 odvozeny silné připojovací řetězec tvůrci (SqlConnectionStringBuilder, OleDbConnectionStringBuilderatd.). Tvůrci připojovací řetězec umožňují vývojářům programově vytvářet syntakticky správné připojovací řetězce a analyzovat a znovu sestavit existující připojovací řetězce.

Objekt DbConnectionStringBuilder byl definován způsobem, který je nezávislý na databázi. Vzhledem k přidání System.Data.Common oboru názvů vývojáři vyžadují základní třídu, proti které mohou programovat, aby mohli vytvářet připojovací řetězce, které mohou pracovat s libovolnou databází. DbConnectionStringBuilder Proto třída umožňuje uživatelům přiřadit libovolné páry klíč/hodnota a předat 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 zprostředkovatele. Pro poskytovatele, kteří podporují konkrétní páry klíč/hodnota, poskytuje tvůrce připojovací řetězec vlastnosti silného typu odpovídající známým párům. Aby vývojáři mohli podporovat poskytovatele, kteří vyžadují možnost podpory neznámých hodnot, můžou také poskytovat 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 se silnými typy a připojení silného typu v sadě Visual Studio, třída připojovací řetězec builderu se silnými typy zobrazí 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ěkterý 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 připojovací řetězec builderu silného DbConnectionStringBuilder typu, nebo mohou použít 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ě uniká z 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 ve ConnectionString vlastnosti.

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á objektICollection, který obsahuje klíče v .DbConnectionStringBuilder

Values

Získá hodnotu ICollection , která obsahuje hodnoty v objektu 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ý objekt Hashtable informacemi o všech vlastnostech tohoto DbConnectionStringBuilderobjektu .

GetType()

Získá aktuální Type instanci.

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

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

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

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

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

ICollection.IsSynchronized

Získá hodnotu označující, zda je přístup k ICollection je synchronizován (bez 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 filtru.

ICustomTypeDescriptor.GetProperties()

Vrátí vlastnosti pro tuto instanci komponenty.

ICustomTypeDescriptor.GetProperties(Attribute[])

Vrátí vlastnosti pro tuto instanci komponenty používající pole atributů jako filtr.

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 k 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 má objekt 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í element 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é