DbConnectionStringBuilder Klasa

Definicja

Udostępnia klasę bazową dla silnie typiowanych konstruktorów parametry połączenia.

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
Dziedziczenie
DbConnectionStringBuilder
Pochodne
Implementuje

Przykłady

Następująca aplikacja konsolowa tworzy dwa parametry połączenia, jeden dla bazy danych Microsoft Jet i jeden dla bazy danych SQL Server. W każdym przypadku kod używa klasy ogólnej DbConnectionStringBuilder do utworzenia parametry połączenia, a następnie przekazuje ConnectionString właściwość DbConnectionStringBuilder wystąpienia do konstruktora silnie typizowanej klasy połączenia. Nie jest to wymagane; kod mógł również utworzyć pojedyncze silnie typizowane wystąpienia konstruktora parametry połączenia. Przykład analizuje również istniejący parametry połączenia i demonstruje różne sposoby manipulowania zawartością parametry połączenia.

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 DbConnectionStringBuilder udostępnia klasę bazową, z której pochodzą silnie typizowane konstruktory parametry połączenia (SqlConnectionStringBuilder, OleDbConnectionStringBuilderitd.). Konstruktorzy parametry połączenia umożliwiają deweloperom programowe tworzenie składniowo poprawnych parametrów połączenia oraz analizowanie i ponowne kompilowanie istniejących parametrów połączenia.

Element DbConnectionStringBuilder został zdefiniowany w sposób niezależna od bazy danych. Ze względu na System.Data.Common dodanie przestrzeni nazw deweloperzy wymagają klasy bazowej, względem której mogą programować w celu utworzenia parametrów połączenia, które mogą działać względem dowolnej bazy danych. W związku z tym DbConnectionStringBuilder klasa umożliwia użytkownikom przypisywanie dowolnych par klucz/wartość i przekazywanie wynikowych parametry połączenia do silnie typizowanego dostawcy. Wszyscy dostawcy danych, którzy są uwzględnini w ramach .NET Framework, zapewniają silnie typizowana klasę, która dziedziczy z DbConnectionStringBuilderklasy : SqlConnectionStringBuilder, , OracleConnectionStringBuilderOdbcConnectionStringBuilderi OleDbConnectionStringBuilder.

Deweloper może tworzyć, przypisywać i edytować parametry połączenia dla dowolnego dostawcy. W przypadku dostawców, którzy obsługują określone pary klucz/wartość, konstruktor parametry połączenia udostępnia silnie typizowane właściwości odpowiadające znanym parom. Aby zapewnić obsługę dostawców, którzy wymagają możliwości obsługi nieznanych wartości, deweloperzy mogą również podać dowolne pary klucz/wartość.

Klasa DbConnectionStringBuilder implementuje interfejs ICustomTypeDescriptor. Oznacza to, że klasa współpracuje z projektantami programu Visual Studio w czasie projektowania. Gdy deweloperzy używają projektanta do tworzenia silnie typiowanych zestawów danych i silnie typiowanych połączeń w programie Visual Studio, silnie typizowane parametry połączenia klasy konstruktora będą wyświetlać właściwości skojarzone z typem, a także będą miały konwertery, które mogą mapować typowe wartości znanych kluczy.

Deweloperzy, którzy muszą tworzyć parametry połączenia w ramach aplikacji, mogą używać DbConnectionStringBuilder klasy lub jednego z silnie typiowanych instrumentów pochodnych do kompilowania i modyfikowania parametrów połączenia. Klasa DbConnectionStringBuilder ułatwia również zarządzanie parametrami połączenia przechowywanymi w pliku konfiguracji aplikacji.

Deweloperzy mogą tworzyć parametry połączenia przy użyciu silnie typizowanej klasy konstruktora parametry połączenia lub mogą używać DbConnectionStringBuilder klasy . Funkcja DbConnectionStringBuilder nie sprawdza prawidłowych par klucz/wartość. W związku z tym można użyć tej klasy do utworzenia nieprawidłowych parametrów połączenia. Obsługuje SqlConnectionStringBuilder tylko pary klucz/wartość obsługiwane przez SQL Server; próba dodania nieprawidłowych par zgłosi wyjątek.

Zarówno metoda, jak Add i Item[] uchwyt właściwości próbuje wstawić złośliwe wpisy. Na przykład poniższy kod poprawnie unika zagnieżdżonej pary klucz/wartość:

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";

Wynik jest następujący parametry połączenia, który obsługuje nieprawidłową wartość w bezpieczny sposób:

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

Konstruktory

DbConnectionStringBuilder()

Inicjuje nowe wystąpienie klasy DbConnectionStringBuilder.

DbConnectionStringBuilder(Boolean)

Inicjuje DbConnectionStringBuilder nowe wystąpienie klasy, opcjonalnie przy użyciu reguł ODBC do cytowania wartości.

Właściwości

BrowsableConnectionString

Pobiera lub ustawia wartość wskazującą, czy właściwość jest widoczna ConnectionString w projektanci programu Visual Studio.

ConnectionString

Pobiera lub ustawia parametry połączenia skojarzone z elementem DbConnectionStringBuilder.

Count

Pobiera bieżącą liczbę kluczy zawartych we ConnectionString właściwości .

IsFixedSize

Pobiera wartość wskazującą, czy element DbConnectionStringBuilder ma stały rozmiar.

IsReadOnly

Pobiera wartość wskazującą, czy DbConnectionStringBuilder element jest tylko do odczytu.

Item[String]

Pobiera lub ustawia wartość skojarzona z określonym kluczem.

Keys

Pobiera element ICollection zawierający klucze w obiekcie DbConnectionStringBuilder.

Values

Pobiera element ICollection zawierający wartości w obiekcie DbConnectionStringBuilder.

Metody

Add(String, Object)

Dodaje wpis z określonym kluczem i wartością do elementu DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

Zapewnia wydajny i bezpieczny sposób dołączania klucza i wartości do istniejącego StringBuilder obiektu.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Zapewnia wydajny i bezpieczny sposób dołączania klucza i wartości do istniejącego StringBuilder obiektu.

Clear()

Czyści zawartość DbConnectionStringBuilder wystąpienia.

ClearPropertyDescriptors()

Czyści kolekcję PropertyDescriptor obiektów na skojarzonym DbConnectionStringBuilderobiekcie .

ContainsKey(String)

Określa, czy element DbConnectionStringBuilder zawiera określony klucz.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
EquivalentTo(DbConnectionStringBuilder)

Porównuje informacje o połączeniu w tym DbConnectionStringBuilder obiekcie z informacjami o połączeniu w podanym obiekcie.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetProperties(Hashtable)

Wypełnia element podany Hashtable przy użyciu informacji o wszystkich właściwościach tego obiektu DbConnectionStringBuilder.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Remove(String)

Usuwa wpis z określonym kluczem DbConnectionStringBuilder z wystąpienia.

ShouldSerialize(String)

Wskazuje, czy określony klucz istnieje w tym DbConnectionStringBuilder wystąpieniu.

ToString()

Zwraca parametry połączenia skojarzone z tym DbConnectionStringBuilderelementem .

TryGetValue(String, Object)

Pobiera wartość odpowiadającą podanemu kluczowi z tego DbConnectionStringBuilderelementu .

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Kopiuje elementy ICollection elementu do obiektu Array, zaczynając od określonego Array indeksu.

ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do elementu ICollection jest synchronizowany (bezpieczny wątk).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do obiektu ICollection.

ICustomTypeDescriptor.GetAttributes()

Zwraca kolekcję atrybutów niestandardowych dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetClassName()

Zwraca nazwę klasy tego wystąpienia składnika.

ICustomTypeDescriptor.GetComponentName()

Zwraca nazwę tego wystąpienia składnika.

ICustomTypeDescriptor.GetConverter()

Zwraca konwerter typów dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetDefaultEvent()

Zwraca zdarzenie domyślne dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetDefaultProperty()

Zwraca właściwość domyślną dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetEditor(Type)

Zwraca edytor określonego typu dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetEvents()

Zwraca zdarzenia dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetEvents(Attribute[])

Zwraca zdarzenia dla tego wystąpienia składnika przy użyciu określonej tablicy atrybutów jako filtru.

ICustomTypeDescriptor.GetProperties()

Zwraca właściwości tego wystąpienia składnika.

ICustomTypeDescriptor.GetProperties(Attribute[])

Zwraca właściwości tego wystąpienia składnika przy użyciu tablicy atrybutów jako filtru.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Zwraca obiekt, który zawiera właściwość opisaną przez deskryptor określonej właściwości.

IDictionary.Add(Object, Object)

Dodaje element z podanym kluczem i wartością IDictionary do obiektu.

IDictionary.Contains(Object)

Określa, czy IDictionary obiekt zawiera element z określonym kluczem.

IDictionary.GetEnumerator()

IDictionaryEnumerator Zwraca obiekt dla IDictionary obiektu.

IDictionary.IsFixedSize

Pobiera wartość wskazującą, czy IDictionary obiekt ma stały rozmiar.

IDictionary.IsReadOnly

Pobiera wartość wskazującą, czy kolekcja IDictionary jest przeznaczona tylko do odczytu.

IDictionary.Item[Object]

Pobiera lub ustawia element przy użyciu określonego klucza.

IDictionary.Remove(Object)

Usuwa element z określonym kluczem IDictionary z obiektu.

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który iteruje po kolekcji.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy obiektu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też