DbConnectionStringBuilder Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Alaposztályt biztosít az erősen gépelt kapcsolati karakterlánc készítők számára.
public ref class DbConnectionStringBuilder : System::Collections::IDictionary
public ref class DbConnectionStringBuilder : System::Collections::IDictionary, System::ComponentModel::ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllEvents | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllFields | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces)]
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All)]
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
type DbConnectionStringBuilder = class
interface ICollection
interface IEnumerable
interface IDictionary
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllEvents | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllFields | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces)>]
type DbConnectionStringBuilder = class
interface ICollection
interface IEnumerable
interface IDictionary
interface ICustomTypeDescriptor
type DbConnectionStringBuilder = class
interface ICollection
interface IEnumerable
interface IDictionary
interface ICustomTypeDescriptor
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All)>]
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
- Öröklődés
-
DbConnectionStringBuilder
- Származtatott
- Attribútumok
- Megvalósítás
Példák
A következő konzolalkalmazás két kapcsolati sztringet hoz létre, egyet egy Microsoft Jet-adatbázishoz, egyet pedig egy SQL Server-adatbázishoz. A kód minden esetben egy általános DbConnectionStringBuilder osztályt használ a kapcsolati karakterlánc létrehozásához, majd átadja a ConnectionString példány DbConnectionStringBuilder tulajdonságát az erősen beírt kapcsolati osztály konstruktorának. Ez nem kötelező; a kód egyéni, erősen gépelt kapcsolati karakterlánc builder-példányokat is létrehozhatott volna. A példa egy meglévő kapcsolati karakterlánc is elemez, és bemutatja a kapcsolati karakterlánc tartalmának manipulálásának különböző módjait.
DbConnectionStringBuilder builder =
new DbConnectionStringBuilder();
builder.ConnectionString = @"Data Source=c:\MyData\MyDb.mdb";
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
// 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 might 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);initial catalog=AdventureWorks";
builder["Server"] = ".";
// Setting the indexer adds the value, if necessary.
builder["Integrated Security"] = true;
Console.WriteLine(builder.ConnectionString);
Sub Main()
Dim builder As New DbConnectionStringBuilder()
builder.ConnectionString = "Data Source=c:\MyData\MyDb.mdb"
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
' 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);initial catalog=AdventureWorks"
builder.Item("Server") = "."
' The Item property is the default for the class,
' and setting the Item property adds the value if
' necessary.
builder("Integrated Security") = True
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
Megjegyzések
A DbConnectionStringBuilder osztály biztosítja azt az alaposztályt, amelyből az erősen beírt kapcsolati karakterlánc szerkesztők (SqlConnectionStringBuilder, OleDbConnectionStringBuilder stb.) származnak. A kapcsolati karakterlánc-szerkesztők lehetővé teszik a fejlesztők számára a szintaktikailag helyes kapcsolati sztringek létrehozását, valamint a meglévő kapcsolati sztringek elemzését és újraépítését.
A DbConnectionStringBuilder definíció adatbázis-agnosztikus módon történt. A névtér hozzáadása miatt a System.Data.Common fejlesztőknek egy alaposztályra van szükségük, amely alapján programozott kapcsolati sztringeket hozhatnak létre, amelyek tetszőleges adatbázison dolgozhatnak. Ezért a DbConnectionStringBuilder osztály lehetővé teszi, hogy a felhasználók tetszőleges kulcs/érték párokat rendeljenek hozzá, és az eredményül kapott kapcsolati karakterlánc egy erősen gépelt szolgáltatónak adják át. A .NET részeként szereplő összes adatszolgáltató egy erősen gépelt osztályt kínál, amely DbConnectionStringBuilder öröklődik: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilder és OleDbConnectionStringBuilder.
Bármilyen tetszőleges szolgáltatóhoz létrehozhat, hozzárendelhet és szerkeszthet kapcsolati sztringeket. Az adott kulcs/érték párokat támogató szolgáltatók számára a kapcsolati karakterlánc-szerkesztő az ismert pároknak megfelelő, erősen gépelt tulajdonságokat biztosít. Az ismeretlen értékeket támogató szolgáltatók számára tetszőleges kulcs-/értékpárokat is megadhat.
Az DbConnectionStringBuilder osztály megvalósítja az ICustomTypeDescriptor felületet. Ez azt jelenti, hogy az osztály a tervezéskor Visual Studio tervezőkkel dolgozik. Ha a fejlesztők a tervezővel erős beírású adathalmazokat és erősen gépelt kapcsolatokat építenek ki Visual Studio belül, az erősen beírt kapcsolati karakterlánc builder osztály megjeleníti a típusához társított tulajdonságokat, és olyan konverterekkel is rendelkezik, amelyek az ismert kulcsok általános értékeit leképezik.
Ha kapcsolati sztringeket kell létrehoznia az alkalmazások részeként, használja az DbConnectionStringBuilder osztályt vagy annak egyik erősen beírt származékát a kapcsolati sztringek létrehozásához és módosításához. Az DbConnectionStringBuilder osztály megkönnyíti az alkalmazáskonfigurációs fájlban tárolt kapcsolati sztringek kezelését is.
Kapcsolati sztringeket egy erősen beírt kapcsolati karakterlánc builder osztály vagy a DbConnectionStringBuilder osztály használatával hozhat létre. A DbConnectionStringBuilder kulcs/érték párok nem ellenőrzik az érvényes kulcs-érték párokat. Ezért az osztály használatakor érvénytelen kapcsolati sztringek hozhatók létre. A SqlConnectionStringBuilder csak a SQL Server által támogatott kulcs/érték párokat támogatja; érvénytelen párok hozzáadásának kísérlete kivételt eredményez.
A metódus és Add a tulajdonság egyaránt kezeli azokat az Item[] eseteket, amikor egy rossz szereplő rosszindulatú bejegyzéseket próbál beszúrni. A következő kód például helyesen menekül a beágyazott kulcs/érték pártól:
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";
Az eredmény a következő kapcsolati karakterlánc, amely biztonságosan kezeli az érvénytelen értéket:
data source=(local);integrated security=True;
initial catalog="AdventureWorks;NewValue=Bad"
Konstruktorok
| Name | Description |
|---|---|
| DbConnectionStringBuilder() |
Inicializálja a DbConnectionStringBuilder osztály új példányát. |
| DbConnectionStringBuilder(Boolean) |
Inicializálja az DbConnectionStringBuilder osztály új példányát, opcionálisan ODBC-szabályok használatával az értékek idézésére. |
Tulajdonságok
| Name | Description |
|---|---|
| BrowsableConnectionString |
Olyan értéket kap vagy állít be, amely jelzi, hogy a ConnectionString tulajdonság látható-e Visual Studio tervezőkben. |
| ConnectionString |
Lekéri vagy beállítja a DbConnectionStringBuilder társított kapcsolati karakterlánc. |
| Count |
Lekéri a tulajdonságban ConnectionString található kulcsok aktuális számát. |
| IsFixedSize |
Olyan értéket kap, amely jelzi, hogy a DbConnectionStringBuilder méret rögzített-e. |
| IsReadOnly |
Olyan értéket kap, amely jelzi, hogy az DbConnectionStringBuilder írásvédett-e. |
| Item[String] |
Lekéri vagy beállítja a megadott kulccsal társított értéket. |
| Keys |
ICollection Lekéri azokat a kulcsokat, amelyek a DbConnectionStringBuilder. |
| Values |
ICollection Lekéri a értékét tartalmazó értéket.DbConnectionStringBuilder |
Metódusok
| Name | Description |
|---|---|
| Add(String, Object) |
A megadott kulccsal és értékkel rendelkező bejegyzést ad hozzá a DbConnectionStringBuilder. |
| AppendKeyValuePair(StringBuilder, String, String, Boolean) |
Hatékonyan és biztonságosan hozzáfűzhet egy kulcsot és értéket egy meglévő StringBuilder objektumhoz. |
| AppendKeyValuePair(StringBuilder, String, String) |
Hatékonyan és biztonságosan hozzáfűzhet egy kulcsot és értéket egy meglévő StringBuilder objektumhoz. |
| Clear() |
Törli a példány tartalmát DbConnectionStringBuilder . |
| ClearPropertyDescriptors() |
Törli a társított PropertyDescriptorobjektumgyűjteménytDbConnectionStringBuilder. |
| ContainsKey(String) |
Meghatározza, hogy a DbConnectionStringBuilder kulcs tartalmaz-e egy adott kulcsot. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| EquivalentTo(DbConnectionStringBuilder) |
Összehasonlítja az objektum kapcsolati adatait DbConnectionStringBuilder a megadott objektum kapcsolati adataival. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetProperties(Hashtable) |
Kitölti a megadott Hashtable adatokat ennek minden tulajdonságáról DbConnectionStringBuilder. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| Remove(String) |
Eltávolítja a megadott kulccsal rendelkező bejegyzést a DbConnectionStringBuilder példányból. |
| ShouldSerialize(String) |
Azt jelzi, hogy a megadott kulcs létezik-e ebben a DbConnectionStringBuilder példányban. |
| ToString() |
A DbConnectionStringBuilder társított kapcsolati karakterlánc adja vissza. |
| TryGetValue(String, Object) |
A megadott kulcsnak megfelelő értéket kér le ebből.DbConnectionStringBuilder |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Az elemeket ICollection egy adott indextől kezdve másolja Arrayegy adott Array indexbe. |
| ICollection.IsSynchronized |
Beolvas egy értéket, amely jelzi, hogy a ICollection hozzáférés szinkronizálva van-e (a szál biztonságos). |
| ICollection.SyncRoot |
Lekéri az objektumot, amely a hozzáférés szinkronizálására használható.ICollection |
| ICustomTypeDescriptor.GetAttributes() |
Egy összetevő jelen példányához tartozó egyéni attribútumok gyűjteményét adja vissza. |
| ICustomTypeDescriptor.GetClassName() |
Egy összetevő példányának osztálynevét adja vissza. |
| ICustomTypeDescriptor.GetComponentName() |
Egy összetevő példányának nevét adja vissza. |
| ICustomTypeDescriptor.GetConverter() |
Egy összetevő jelen példányához tartozó típuskonvertert ad vissza. |
| ICustomTypeDescriptor.GetDefaultEvent() |
Egy összetevő jelen példányának alapértelmezett eseményét adja vissza. |
| ICustomTypeDescriptor.GetDefaultProperty() |
Az összetevő jelen példányának alapértelmezett tulajdonságát adja vissza. |
| ICustomTypeDescriptor.GetEditor(Type) |
Egy adott típusú szerkesztőt ad vissza egy összetevő jelen példányához. |
| ICustomTypeDescriptor.GetEvents() |
Egy összetevő jelen példányának eseményeit adja vissza. |
| ICustomTypeDescriptor.GetEvents(Attribute[]) |
Egy összetevő jelen példányának eseményeit adja vissza, szűrőként a megadott attribútumtömböt használva. |
| ICustomTypeDescriptor.GetProperties() |
Egy összetevő jelen példányának tulajdonságait adja vissza. |
| ICustomTypeDescriptor.GetProperties(Attribute[]) |
Egy összetevő jelen példányának tulajdonságait adja vissza, amely szűrőként használja az attribútumtömböt. |
| ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
A megadott tulajdonságleíró által leírt tulajdonságot tartalmazó objektumot ad vissza. |
| IDictionary.Add(Object, Object) |
Hozzáad egy elemet a megadott kulccsal és értékkel az IDictionary objektumhoz. |
| IDictionary.Contains(Object) |
Meghatározza, hogy az IDictionary objektum tartalmaz-e a megadott kulccsal rendelkező elemet. |
| IDictionary.GetEnumerator() |
IDictionaryEnumerator Az objektum objektumát IDictionary adja vissza. |
| IDictionary.IsFixedSize |
Beolvas egy értéket, amely jelzi, hogy az IDictionary objektum rögzített méretű-e. |
| IDictionary.IsReadOnly |
Beolvas egy értéket, amely jelzi, hogy az IDictionary írásvédett-e. |
| IDictionary.Item[Object] |
Lekéri vagy beállítja az elemet a megadott kulccsal. |
| IDictionary.Remove(Object) |
Eltávolítja a megadott kulccsal rendelkező elemet az IDictionary objektumból. |
| IEnumerable.GetEnumerator() |
Egy gyűjteményen keresztül iteráló enumerátort ad vissza. |
Bővítő metódusok
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Lehetővé teszi a lekérdezés párhuzamosítását. |
| AsQueryable(IEnumerable) |
Átalakítja az egyiket IEnumerableIQueryable. |
| Cast<TResult>(IEnumerable) |
Egy elem elemeit IEnumerable a megadott típusra veti. |
| OfType<TResult>(IEnumerable) |
Egy adott típus alapján szűri IEnumerable egy adott elem elemeit. |