DbConnectionStringBuilder Třída

Definice

Poskytuje základní třídu pro tvůrci připojovacích řetězců silného typu.Provides a base class for strongly typed connection string builders.

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
type DbConnectionStringBuilder = class
    interface IDictionary
    interface ICustomTypeDescriptor
    interface ICollection
    interface IEnumerable
Public Class DbConnectionStringBuilder
Implements IDictionary
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
Dědičnost
DbConnectionStringBuilder
Odvozené
Implementuje

Příklady

Následující aplikace konzoly sestaví dva připojovací řetězce, jednu pro databázi Microsoft Jet a jednu pro databázi SQL Server.The following console application builds two connection strings, one for a Microsoft Jet database, and one for a SQL Server database. V každém případě kód používá obecnou DbConnectionStringBuilder třídu k vytvoření připojovacího řetězce a poté předá ConnectionString vlastnost DbConnectionStringBuilder instance konstruktoru třídy připojení silného typu.In each case, the code uses a generic DbConnectionStringBuilder class to create the connection string, and then passes the ConnectionString property of the DbConnectionStringBuilder instance to the constructor of the strongly typed connection class. To není vyžadováno; kód může také vytvořit jednotlivé instance Tvůrce připojovacích řetězců silného typu.This is not required; the code could also have created individual strongly typed connection string builder instances. Příklad také analyzuje existující připojovací řetězec a ukazuje různé způsoby manipulace s obsahem připojovacího řetězce.The example also parses an existing connection string, and demonstrates various ways of manipulating the connection string's contents.

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

DbConnectionStringBuilderTřída poskytuje základní třídu, ze které jsou odvozeni tvůrci připojovacích řetězců silného typu ( SqlConnectionStringBuilder , OleDbConnectionStringBuilder atd.).The DbConnectionStringBuilder class provides the base class from which the strongly typed connection string builders (SqlConnectionStringBuilder, OleDbConnectionStringBuilder, and so on) derive. Tvůrci připojovacích řetězců umožňují vývojářům programově vytvářet syntakticky správné připojovací řetězce a analyzovat a znovu sestavovat existující připojovací řetězce.The connection string builders let developers programmatically create syntactically correct connection strings, and parse and rebuild existing connection strings.

Byl DbConnectionStringBuilder definován v nezávislá způsobem databáze.The DbConnectionStringBuilder has been defined in a database-agnostic manner. Z důvodu přidání System.Data.Common oboru názvů vývojáři vyžadují základní třídu, proti které můžou programovat, aby mohli vytvářet připojovací řetězce, které můžou pracovat s libovolnou databází.Because of the addition of the System.Data.Common namespace, developers require a base class against which they can program in order to build connection strings that can work against an arbitrary database. Proto DbConnectionStringBuilder Třída 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.Therefore, the DbConnectionStringBuilder class lets users assign arbitrary key/value pairs and pass the resulting connection string to a strongly typed provider. Všichni poskytovatelé dat zahrnutí jako součást .NET Framework poskytují třídu silného typu, která dědí z DbConnectionStringBuilder : SqlConnectionStringBuilder , OracleConnectionStringBuilder , a OdbcConnectionStringBuilder OleDbConnectionStringBuilder .All the data providers that are included as part of the .NET Framework provide a strongly typed class that inherits from DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilder, and OleDbConnectionStringBuilder.

Vývojář může sestavovat, přiřazovat a upravovat připojovací řetězce pro libovolného poskytovatele.The developer can build, assign, and edit connection strings for any arbitrary provider. Pro poskytovatele, kteří podporují určité páry klíč/hodnota, poskytuje Tvůrce připojovacích řetězců vlastnosti silného typu odpovídající známým párů.For providers that support specific key/value pairs, the connection string builder provides strongly typed properties corresponding to the known pairs. Aby bylo možné podporovat poskytovatele, kteří vyžadují možnost podporovat neznámé hodnoty, mohou vývojáři také poskytovat libovolné páry klíč/hodnota.In order to support providers that require the ability to support unknown values, developers can also supply arbitrary key/value pairs.

Třída DbConnectionStringBuilder implementuje rozhraní ICustomTypeDescriptor.The DbConnectionStringBuilder class implements the ICustomTypeDescriptor interface. To znamená, že třída spolupracuje s návrháři sady Visual Studio v době návrhu.This means that the class works with Visual Studio designers at design time. 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 rámci sady Visual Studio, třída tvůrce připojovacího řetězce se silnými typy zobrazí vlastnosti přidružené k jeho typu a bude mít také převaděče, které mohou namapovat společné hodnoty pro známé klíče.When developers use the designer to build strongly typed DataSets and strongly typed connections within Visual Studio, the strongly typed connection string builder class will display the properties associated with its type and will also have converters that can map common values for known keys.

Vývojáři, kteří potřebují vytvářet připojovací řetězce jako součást aplikací, mohou použít DbConnectionStringBuilder třídu nebo jeden z jeho derivátů se silným typem k sestavení a úpravě připojovacích řetězců.Developers needing to create connection strings as part of applications can use the DbConnectionStringBuilder class or one of its strongly typed derivatives to build and modify connection strings. DbConnectionStringBuilderTřída také usnadňuje správu připojovacích řetězců uložených v konfiguračním souboru aplikace.The DbConnectionStringBuilder class also makes it easy to manage connection strings stored in an application configuration file.

Vývojáři mohou vytvářet připojovací řetězce pomocí třídy Tvůrce připojovacích řetězců silného typu nebo mohou používat DbConnectionStringBuilder třídu.Developers can create connection strings using either a strongly typed connection string builder class, or they can use the DbConnectionStringBuilder class. DbConnectionStringBuilderNeprovede žádné kontroly platnou dvojici klíč/hodnota.The DbConnectionStringBuilder performs no checks for valid key/value pairs. Proto je možné tuto třídu použít k vytvoření neplatných připojovacích řetězců.Therefore, it is possible using this class to create invalid connection strings. SqlConnectionStringBuilderPodporuje pouze páry klíč/hodnota, které jsou podporovány nástrojem SQL Server; pokus o přidání neplatných párů vyvolá výjimku.The SqlConnectionStringBuilder supports only key/value pairs that are supported by SQL Server; trying to add invalid pairs will throw an exception.

AddMetoda i Item[] obslužná rutina vlastností se pokusí vložit škodlivé položky.Both the Add method and Item[] property handle tries to insert malicious entries. Například následující kód správně řídí vnořenou dvojici klíč/hodnota:For example, the following code correctly escapes the nested key/value pair:

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ý zpracovává neplatnou hodnotu bezpečným způsobem:The result is the following connection string that handles the invalid value in a safe manner:

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

Konstruktory

DbConnectionStringBuilder()

Inicializuje novou instanci DbConnectionStringBuilder třídy.Initializes a new instance of the DbConnectionStringBuilder class.

DbConnectionStringBuilder(Boolean)

Inicializuje novou instanci DbConnectionStringBuilder třídy, volitelně používá pravidla rozhraní ODBC pro quotické hodnoty.Initializes a new instance of the DbConnectionStringBuilder class, optionally using ODBC rules for quoting values.

Vlastnosti

BrowsableConnectionString

Získává nebo nastavuje hodnotu, která indikuje, jestli ConnectionString je vlastnost viditelná v návrhářích sady Visual Studio.Gets or sets a value that indicates whether the ConnectionString property is visible in Visual Studio designers.

ConnectionString

Získá nebo nastaví připojovací řetězec přidružený k DbConnectionStringBuilder .Gets or sets the connection string associated with the DbConnectionStringBuilder.

Count

Získá aktuální počet klíčů, které jsou obsaženy v rámci ConnectionString Vlastnosti.Gets the current number of keys that are contained within the ConnectionString property.

IsFixedSize

Získá hodnotu, která označuje, zda DbConnectionStringBuilder má pevnou velikost.Gets a value that indicates whether the DbConnectionStringBuilder has a fixed size.

IsReadOnly

Získá hodnotu, která označuje, zda DbConnectionStringBuilder je pouze pro čtení.Gets a value that indicates whether the DbConnectionStringBuilder is read-only.

Item[String]

Získá nebo nastaví hodnotu přidruženou k zadanému klíči.Gets or sets the value associated with the specified key.

Keys

Získá ICollection , který obsahuje klíče v DbConnectionStringBuilder .Gets an ICollection that contains the keys in the DbConnectionStringBuilder.

Values

Získá ICollection , který obsahuje hodnoty v DbConnectionStringBuilder .Gets an ICollection that contains the values in the DbConnectionStringBuilder.

Metody

Add(String, Object)

Přidá položku se zadaným klíčem a hodnotou do DbConnectionStringBuilder .Adds an entry with the specified key and value into the DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

Poskytuje efektivní a bezpečný způsob, jak připojit klíč a hodnotu k existujícímu StringBuilder objektu.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Poskytuje efektivní a bezpečný způsob, jak připojit klíč a hodnotu k existujícímu StringBuilder objektu.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

Clear()

Vymaže obsah DbConnectionStringBuilder instance.Clears the contents of the DbConnectionStringBuilder instance.

ClearPropertyDescriptors()

Vymaže kolekci PropertyDescriptor objektů na přidruženém objektu DbConnectionStringBuilder .Clears the collection of PropertyDescriptor objects on the associated DbConnectionStringBuilder.

ContainsKey(String)

Určuje, zda DbConnectionStringBuilder obsahuje konkrétní klíč.Determines whether the DbConnectionStringBuilder contains a specific key.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(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.Compares the connection information in this DbConnectionStringBuilder object with the connection information in the supplied object.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

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

Vyplní Hashtable informace o všech vlastnostech tohoto typu DbConnectionStringBuilder .Fills a supplied Hashtable with information about all the properties of this DbConnectionStringBuilder.

GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

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

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

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

Odstraní položku se zadaným klíčem z DbConnectionStringBuilder instance.Removes the entry with the specified key from the DbConnectionStringBuilder instance.

ShouldSerialize(String)

Určuje, zda zadaný klíč v této DbConnectionStringBuilder instanci existuje.Indicates whether the specified key exists in this DbConnectionStringBuilder instance.

ToString()

Vrátí připojovací řetězec přidružený k tomuto DbConnectionStringBuilder .Returns the connection string associated with this DbConnectionStringBuilder.

TryGetValue(String, Object)

Načte hodnotu odpovídající zadanému klíči z tohoto DbConnectionStringBuilder .Retrieves a value corresponding to the supplied key from this DbConnectionStringBuilder.

Explicitní implementace rozhraní

ICollection.CopyTo(Array, Int32)

Zkopíruje prvky ICollection do a Array počínaje konkrétním Array indexem.Copies the elements of the ICollection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

Načte hodnotu, která označuje, jestli se má synchronizovat přístup k aplikaci (bezpečné pro přístup z ICollection více vláken).Gets a value indicating whether access to the ICollection is synchronized (thread safe).

ICollection.SyncRoot

Získává objekt, který lze použít k synchronizaci přístupu k ICollection .Gets an object that can be used to synchronize access to the ICollection.

ICustomTypeDescriptor.GetAttributes()

Vrátí kolekci uživatelských atributů pro tuto instanci komponenty.Returns a collection of custom attributes for this instance of a component.

ICustomTypeDescriptor.GetClassName()

Vrátí název třídy této instance komponenty.Returns the class name of this instance of a component.

ICustomTypeDescriptor.GetComponentName()

Vrátí název této instance komponenty.Returns the name of this instance of a component.

ICustomTypeDescriptor.GetConverter()

Vrátí konvertor typu pro tuto instanci komponenty.Returns a type converter for this instance of a component.

ICustomTypeDescriptor.GetDefaultEvent()

Vrátí výchozí událost pro tuto instanci komponenty.Returns the default event for this instance of a component.

ICustomTypeDescriptor.GetDefaultProperty()

Vrátí výchozí vlastnost této instance komponenty.Returns the default property for this instance of a component.

ICustomTypeDescriptor.GetEditor(Type)

Vrátí Editor zadaného typu pro tuto instanci komponenty.Returns an editor of the specified type for this instance of a component.

ICustomTypeDescriptor.GetEvents()

Vrátí události pro tuto instanci komponenty.Returns the events for this instance of a component.

ICustomTypeDescriptor.GetEvents(Attribute[])

Vrátí události pro tuto instanci komponenty pomocí zadaného pole atributu jako filtru.Returns the events for this instance of a component using the specified attribute array as a filter.

ICustomTypeDescriptor.GetProperties()

Vrátí vlastnosti pro tuto instanci komponenty.Returns the properties for this instance of a component.

ICustomTypeDescriptor.GetProperties(Attribute[])

Vrátí vlastnosti této instance komponenty pomocí pole atributu jako filtru.Returns the properties for this instance of a component using the attribute array as a filter.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Vrátí objekt, který obsahuje vlastnost popsanou zadaným popisovačem vlastnosti.Returns an object that contains the property described by the specified property descriptor.

IDictionary.Add(Object, Object)

Přidá prvek se zadaným klíčem a hodnotou do IDictionary objektu.Adds an element with the provided key and value to the IDictionary object.

IDictionary.Contains(Object)

Určuje, zda IDictionary objekt obsahuje prvek se zadaným klíčem.Determines whether the IDictionary object contains an element with the specified key.

IDictionary.GetEnumerator()

Vrátí IDictionaryEnumerator objekt pro IDictionary objekt.Returns an IDictionaryEnumerator object for the IDictionary object.

IDictionary.IsFixedSize

Načte hodnotu, která označuje, zda IDictionary má objekt pevnou velikost.Gets a value indicating whether the IDictionary object has a fixed size.

IDictionary.IsReadOnly

Získá hodnotu, která určuje, zda je IDictionary určena jen pro čtení.Gets a value indicating whether the IDictionary is read-only.

IDictionary.Item[Object]

Získá nebo nastaví prvek se zadaným klíčem.Gets or sets the element with the specified key.

IDictionary.Remove(Object)

Odebere prvek se zadaným klíčem z IDictionary objektu.Removes the element with the specified key from the IDictionary object.

IEnumerable.GetEnumerator()

Vrací enumerátor procházející kolekci.Returns an enumerator that iterates through a collection.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypování prvky IEnumerable na zadaný typ.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Povoluje paralelní zpracování dotazu.Enables parallelization of a query.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable .Converts an IEnumerable to an IQueryable.

Platí pro