DbConnectionStringBuilder Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 |