DbConnectionStringBuilder Klasa

Definicja

Udostępnia klasę bazową dla konstruktorów parametrów połączenia o jednoznacznie określonym typie.Provides a base class for strongly typed connection string builders.

public ref class DbConnectionStringBuilder : System::Collections::IDictionary, System::ComponentModel::ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface IDictionary
    interface ICustomTypeDescriptor
    interface ICollection
    interface IEnumerable
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
Dziedziczenie
DbConnectionStringBuilder
Pochodne
Implementuje

Przykłady

Następująca aplikacja konsolowa tworzy dwa parametry połączenia: jeden dla bazy danych programu Microsoft Jet i jeden dla bazy danych SQL Server.The following console application builds two connection strings, one for a Microsoft Jet database, and one for a SQL Server database. W każdym przypadku kod używa klasy generycznej DbConnectionStringBuilder do tworzenia parametrów połączenia, a następnie ConnectionString przekazuje Właściwość DbConnectionStringBuilder wystąpienia do konstruktora klasy połączeń silnie 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 type connection class. Nie jest to wymagane; kod może również tworzyć pojedyncze wystąpienia konstruktorów parametrów połączenia o jednoznacznie określonym typie.This is not required; the code could also have created individual strongly typed connection string builder instances. Przykład analizuje również istniejące parametry połączenia i pokazuje różne sposoby manipulowania zawartością parametrów połączenia.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

Uwagi

Klasa zawiera klasę bazową, z której są kompilowane parametry połączenia z silną typemSqlConnectionStringBuilder( OleDbConnectionStringBuilder,, i tak dalej). DbConnectionStringBuilderThe DbConnectionStringBuilder class provides the base class from which the strongly typed connection string builders (SqlConnectionStringBuilder, OleDbConnectionStringBuilder, and so on) derive. Konstruktory parametrów połączenia umożliwiają deweloperom Programistyczne tworzenie składniowych parametrów połączenia oraz analizowanie i ponowne kompilowanie istniejących parametrów połączenia.The connection string builders let developers programmatically create syntactically correct connection strings, and parse and rebuild existing connection strings.

DbConnectionStringBuilder Został zdefiniowany w bazie danych — niezależny od.The DbConnectionStringBuilder has been defined in a database-agnostic manner. Ze względu na dodanie System.Data.Common przestrzeni nazw deweloperzy wymagają klasy bazowej, z której mogą korzystać w celu tworzenia parametrów połączenia, które mogą współdziałać z dowolnymi bazami danych.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. W związku z DbConnectionStringBuilder tym, Klasa umożliwia użytkownikom przypisywanie dowolnych par klucz/wartość i przekazywanie parametrów połączenia do jednoznacznie określonego dostawcy.Therefore, the DbConnectionStringBuilder class lets users assign arbitrary key/value pairs and pass the resulting connection string to a strongly typed provider. Wszyscy dostawcy danych, którzy są uwzględnieni jako części .NET Framework, udostępniają silnie wpisaną klasę, która dziedziczy DbConnectionStringBuilderz SqlConnectionStringBuilder: OracleConnectionStringBuilder, OdbcConnectionStringBuilder,, OleDbConnectionStringBuilderi.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.

Deweloper może tworzyć, przypisywać i edytować parametry połączenia dla dowolnego dowolnego dostawcy.The developer can build, assign, and edit connection strings for any arbitrary provider. W przypadku dostawców, którzy obsługują określone pary klucz/wartość, Konstruktor parametrów połączenia udostępnia właściwości silnie wpisane odpowiadające znanym par.For providers that support specific key/value pairs, the connection string builder provides strongly typed properties corresponding to the known pairs. Aby zapewnić obsługę dostawców, którzy wymagają możliwości obsługi nieznanych wartości, deweloperzy mogą również dostarczać dowolne pary klucz/wartość.In order to support providers that require the ability to support unknown values, developers can also supply arbitrary key/value pairs.

DbConnectionStringBuilder KlasaICustomTypeDescriptor implementuje interfejs.The DbConnectionStringBuilder class implements the ICustomTypeDescriptor interface. Oznacza to, że Klasa współpracuje z projektantami programu Visual Studio w czasie projektowania.This means that the class works with Visual Studio designers at design time. Gdy deweloperzy wykorzystują projektanta do kompilowania silnie wpisanych zestawów danych i połączeń silnie wpisanych w programie Visual Studio, Klasa Konstruktor parametrów połączenia o jednoznacznie określonym typie będzie wyświetlała właściwości skojarzone z jej typem, a także konwertery, które mogą Mapuj typowe wartości dla znanych kluczy.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.

Deweloperzy potrzebujący tworzenia parametrów połączenia w ramach aplikacji mogą używać DbConnectionStringBuilder klasy lub jednej z jednoznacznie wpisanych pochodnych do tworzenia i modyfikowania parametrów połączenia.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. DbConnectionStringBuilder Klasa ułatwia również zarządzanie ciągami połączeń przechowywanymi w pliku konfiguracyjnym aplikacji.The DbConnectionStringBuilder class also makes it easy to manage connection strings stored in an application configuration file.

Deweloperzy mogą tworzyć parametry połączeń przy użyciu klasy konstruktora ciągów połączenia o jednoznacznie określonym typie lub mogą korzystać z DbConnectionStringBuilder klasy.Developers can create connection strings using either a strongly typed connection string builder class, or they can use the DbConnectionStringBuilder class. DbConnectionStringBuilder Nie sprawdza prawidłowych par klucz/wartość.The DbConnectionStringBuilder performs no checks for valid key/value pairs. W związku z tym, można użyć tej klasy do tworzenia nieprawidłowych parametrów połączenia.Therefore, it is possible using this class to create invalid connection strings. SqlConnectionStringBuilder Obsługuje tylko pary klucz/wartość, które są obsługiwane przez SQL Server; próba dodania nieprawidłowych par spowoduje zgłoszenie wyjątku.The SqlConnectionStringBuilder supports only key/value pairs that are supported by SQL Server; trying to add invalid pairs will throw an exception.

Obie metody i Item[String] uchwyty właściwości próbują wstawić złośliwe wpisy. AddBoth the Add method and Item[String] property handle tries to insert malicious entries. Na przykład poniższy kod poprawnie wyprowadza zagnieżdżoną parę klucz/wartość: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";  

Wynikiem są następujące parametry połączenia, które obsługują nieprawidłową wartość w bezpieczny sposób: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()

Inicjuje nowe wystąpienie klasy DbConnectionStringBuilder klasy.Initializes a new instance of the DbConnectionStringBuilder class.

DbConnectionStringBuilder(Boolean)

Inicjuje nowe wystąpienie DbConnectionStringBuilder klasy, opcjonalnie używając reguł ODBC dla wartości quotych.Initializes a new instance of the DbConnectionStringBuilder class, optionally using ODBC rules for quoting values.

Właściwości

BrowsableConnectionString

Pobiera lub ustawia wartość wskazującą, czy ConnectionString właściwość jest widoczna w projektantach programu Visual Studio.Gets or sets a value that indicates whether the ConnectionString property is visible in Visual Studio designers.

ConnectionString

Pobiera lub ustawia parametry połączenia skojarzone z DbConnectionStringBuilder.Gets or sets the connection string associated with the DbConnectionStringBuilder.

Count

Pobiera bieżącą liczbę kluczy znajdujących się w ConnectionString właściwości.Gets the current number of keys that are contained within the ConnectionString property.

IsFixedSize

Pobiera wartość wskazującą, czy DbConnectionStringBuilder ma stały rozmiar.Gets a value that indicates whether the DbConnectionStringBuilder has a fixed size.

IsReadOnly

Pobiera wartość wskazującą, czy jest tylko DbConnectionStringBuilder do odczytu.Gets a value that indicates whether the DbConnectionStringBuilder is read-only.

Item[String]

Pobiera lub ustawia wartość skojarzoną z określonym kluczem.Gets or sets the value associated with the specified key.

Keys

Pobiera, który zawiera klucze DbConnectionStringBuilderw. ICollectionGets an ICollection that contains the keys in the DbConnectionStringBuilder.

Values

Pobiera, który zawiera wartości DbConnectionStringBuilderw. ICollectionGets an ICollection that contains the values in the DbConnectionStringBuilder.

Metody

Add(String, Object)

Dodaje wpis z określonym kluczem i wartością do DbConnectionStringBuilder.Adds an entry with the specified key and value into the DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

Zapewnia wydajny i bezpieczny sposób dołączania klucza i wartości do istniejącego StringBuilder obiektu.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Zapewnia wydajny i bezpieczny sposób dołączania klucza i wartości do istniejącego StringBuilder obiektu.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

Clear()

Czyści zawartość DbConnectionStringBuilder wystąpienia.Clears the contents of the DbConnectionStringBuilder instance.

ClearPropertyDescriptors()

Czyści kolekcję PropertyDescriptor obiektów w skojarzonym DbConnectionStringBuilder.Clears the collection of PropertyDescriptor objects on the associated DbConnectionStringBuilder.

ContainsKey(String)

Określa, DbConnectionStringBuilder czy zawiera określony klucz.Determines whether the DbConnectionStringBuilder contains a specific key.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
EquivalentTo(DbConnectionStringBuilder)

Porównuje informacje o połączeniu w DbConnectionStringBuilder tym obiekcie z informacjami o połączeniu w podanym obiekcie.Compares the connection information in this DbConnectionStringBuilder object with the connection information in the supplied object.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetProperties(Hashtable)

Wypełnia dane Hashtable informacjami o wszystkich właściwościach tego DbConnectionStringBuilderelementu.Fills a supplied Hashtable with information about all the properties of this DbConnectionStringBuilder.

GetType()

Type Pobiera bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Objectelementu.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Remove(String)

Usuwa wpis z określonym kluczem z DbConnectionStringBuilder wystąpienia.Removes the entry with the specified key from the DbConnectionStringBuilder instance.

ShouldSerialize(String)

Wskazuje, czy określony klucz istnieje w tym DbConnectionStringBuilder wystąpieniu.Indicates whether the specified key exists in this DbConnectionStringBuilder instance.

ToString()

Zwraca parametry połączenia skojarzone z tym DbConnectionStringBuilderelementem.Returns the connection string associated with this DbConnectionStringBuilder.

TryGetValue(String, Object)

Pobiera wartość odpowiadającą dostarczonemu kluczowi z tego DbConnectionStringBuilderelementu.Retrieves a value corresponding to the supplied key from this DbConnectionStringBuilder.

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Kopiuje elementy ICollection Arraydo, zaczynając od określonego Array indeksu.Copies the elements of the ICollection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

Pobiera wartość wskazującą, ICollection czy dostęp do elementu jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to the ICollection is synchronized (thread safe).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do ICollection.Gets an object that can be used to synchronize access to the ICollection.

ICustomTypeDescriptor.GetAttributes()

Zwraca kolekcję atrybutów niestandardowych dla tego wystąpienia składnika.Returns a collection of custom attributes for this instance of a component.

ICustomTypeDescriptor.GetClassName()

Zwraca nazwę klasy tego wystąpienia składnika.Returns the class name of this instance of a component.

ICustomTypeDescriptor.GetComponentName()

Zwraca nazwę tego wystąpienia składnika.Returns the name of this instance of a component.

ICustomTypeDescriptor.GetConverter()

Zwraca konwerter typu dla tego wystąpienia składnika.Returns a type converter for this instance of a component.

ICustomTypeDescriptor.GetDefaultEvent()

Zwraca domyślne zdarzenie dla tego wystąpienia składnika.Returns the default event for this instance of a component.

ICustomTypeDescriptor.GetDefaultProperty()

Zwraca domyślną właściwość dla tego wystąpienia składnika.Returns the default property for this instance of a component.

ICustomTypeDescriptor.GetEditor(Type)

Zwraca Edytor określonego typu dla tego wystąpienia składnika.Returns an editor of the specified type for this instance of a component.

ICustomTypeDescriptor.GetEvents()

Zwraca zdarzenia dla tego wystąpienia składnika.Returns the events for this instance of a component.

ICustomTypeDescriptor.GetEvents(Attribute[])

Zwraca zdarzenia dla tego wystąpienia składnika przy użyciu określonej tablicy atrybutów jako filtru.Returns the events for this instance of a component using the specified attribute array as a filter.

ICustomTypeDescriptor.GetProperties()

Zwraca właściwości dla tego wystąpienia składnika.Returns the properties for this instance of a component.

ICustomTypeDescriptor.GetProperties(Attribute[])

Zwraca właściwości dla tego wystąpienia składnika, używając tablicy atrybutów jako filtru.Returns the properties for this instance of a component using the attribute array as a filter.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Zwraca obiekt, który zawiera właściwość opisaną przez określony deskryptor właściwości.Returns an object that contains the property described by the specified property descriptor.

IDictionary.Add(Object, Object)

Dodaje element o podanym kluczu i wartości do IDictionary obiektu.Adds an element with the provided key and value to the IDictionary object.

IDictionary.Contains(Object)

Określa, IDictionary czy obiekt zawiera element z określonym kluczem.Determines whether the IDictionary object contains an element with the specified key.

IDictionary.GetEnumerator()

IDictionaryEnumerator Zwraca obiektIDictionary dla obiektu.Returns an IDictionaryEnumerator object for the IDictionary object.

IDictionary.IsFixedSize
IDictionary.IsReadOnly
IDictionary.Item[Object]

Pobiera lub ustawia element z określonym kluczem.Gets or sets the element with the specified key.

IDictionary.Remove(Object)

Usuwa element z określonym kluczem z IDictionary obiektu.Removes the element with the specified key from the IDictionary object.

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który dokonuje iteracji w kolekcji.Returns an enumerator that iterates through a collection.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable do określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerable KonwertujeIQueryabledo.Converts an IEnumerable to an IQueryable.

Dotyczy

Zobacz też