DbConnectionStringBuilder Klas

Definitie

Biedt een basisklasse voor sterk getypte verbindingsreeks bouwers.

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 IDictionary
    interface ICollection
    interface IEnumerable
    interface ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
    interface ICustomTypeDescriptor
Public Class DbConnectionStringBuilder
Implements IDictionary
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
Overname
DbConnectionStringBuilder
Afgeleid
Implementeringen

Voorbeelden

De volgende consoletoepassing bouwt twee verbindingsreeksen, één voor een Microsoft Jet-database en een voor een SQL Server-database. In elk geval gebruikt de code een algemene DbConnectionStringBuilder-klasse om de verbindingsreeks te maken en geeft vervolgens de eigenschap ConnectionString van het DbConnectionStringBuilder-exemplaar door aan de constructor van de sterk getypte verbindingsklasse. Dit is niet vereist; de code kan ook afzonderlijke sterk getypte verbindingsreeks builder-exemplaren hebben gemaakt. Het voorbeeld parseert ook een bestaande verbindingsreeks en demonstreert verschillende manieren om de inhoud van de verbindingsreeks te bewerken.

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

Opmerkingen

De klasse DbConnectionStringBuilder biedt de basisklasse waaruit de sterk getypte verbindingsreeks bouwers (SqlConnectionStringBuilder, OleDbConnectionStringBuilder, enzovoort) zijn afgeleid. Met de verbindingsreeks-opbouwfuncties kunnen ontwikkelaars programmatisch verbindingsreeksen maken en bestaande verbindingsreeksen parseren en herbouwen.

De DbConnectionStringBuilder is gedefinieerd op een databaseagnostische manier. Vanwege de toevoeging van de System.Data.Common naamruimte hebben ontwikkelaars een basisklasse nodig waarmee ze kunnen programmeren om verbindingsreeksen te maken die kunnen worden gebruikt voor een willekeurige database. Daarom kunnen gebruikers met de klasse DbConnectionStringBuilder willekeurige sleutel/waardeparen toewijzen en de resulterende verbindingsreeks doorgeven aan een sterk getypte provider. Alle gegevensproviders die zijn opgenomen als onderdeel van .NET bieden een sterk getypeerde klasse die wordt overgenomen van DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilder en OleDbConnectionStringBuilder.

U kunt verbindingsreeksen bouwen, toewijzen en bewerken voor elke willekeurige provider. Voor providers die specifieke sleutel-/waardeparen ondersteunen, biedt de opbouwfunctie voor verbindingsreeks sterk getypte eigenschappen die overeenkomen met de bekende paren. Voor providers die de mogelijkheid nodig hebben om onbekende waarden te ondersteunen, kunt u ook willekeurige sleutel-/waardeparen opgeven.

Met de klasse DbConnectionStringBuilder wordt de ICustomTypeDescriptor-interface geïmplementeerd. Dit betekent dat de klas werkt met Visual Studio ontwerpers tijdens het ontwerpen. Wanneer ontwikkelaars de ontwerpfunctie gebruiken om sterk getypte DataSets en sterk getypte verbindingen binnen Visual Studio te bouwen, geeft de sterk getypte klasse verbindingsreeks builder de eigenschappen weer die zijn gekoppeld aan het type en bevat ook conversieprogramma's waarmee algemene waarden voor bekende sleutels kunnen worden toegewezen.

Als u verbindingsreeksen wilt maken als onderdeel van toepassingen, gebruikt u de klasse of een van de DbConnectionStringBuilder sterk getypte derivaten om verbindingsreeksen te bouwen en te wijzigen. De DbConnectionStringBuilder klasse maakt het ook eenvoudig om verbindingsreeksen te beheren die zijn opgeslagen in een toepassingsconfiguratiebestand.

U kunt verbindingsreeksen maken met behulp van een sterk getypte verbindingsreeks builder-klasse of de klasse DbConnectionStringBuilder. Er DbConnectionStringBuilder worden geen controles uitgevoerd op geldige sleutel-/waardeparen. Daarom is het mogelijk om ongeldige verbindingsreeksen te maken wanneer u deze klasse gebruikt. De SqlConnectionStringBuilder ondersteunt alleen sleutel-/waardeparen die worden ondersteund door SQL Server; als u ongeldige paren probeert toe te voegen, wordt er een uitzondering gegenereerd.

Zowel de methode als Item[] de Add eigenschap verwerken gevallen waarbij een slechte actor schadelijke vermeldingen probeert in te voegen. Met de volgende code wordt bijvoorbeeld het geneste sleutel-/waardepaar correct ontsnapt:

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

Het resultaat is de volgende verbindingsreeks die de ongeldige waarde op een veilige manier verwerkt:

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

Constructors

Name Description
DbConnectionStringBuilder()

Initialiseert een nieuw exemplaar van de DbConnectionStringBuilder klasse.

DbConnectionStringBuilder(Boolean)

Initialiseert een nieuw exemplaar van de DbConnectionStringBuilder klasse, optioneel met behulp van ODBC-regels voor het citeren van waarden.

Eigenschappen

Name Description
BrowsableConnectionString

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de eigenschap ConnectionString zichtbaar is in Visual Studio ontwerpers.

ConnectionString

Hiermee haalt u de verbindingsreeks op die is gekoppeld aan de DbConnectionStringBuilder.

Count

Hiermee haalt u het huidige aantal sleutels op dat zich in de ConnectionString eigenschap bevindt.

IsFixedSize

Hiermee wordt een waarde opgehaald die aangeeft of de grootte van de DbConnectionStringBuilder waarde vast is.

IsReadOnly

Hiermee wordt een waarde opgehaald die aangeeft of het DbConnectionStringBuilder kenmerk Alleen-lezen is.

Item[String]

Hiermee haalt u de waarde op die is gekoppeld aan de opgegeven sleutel of stelt u deze in.

Keys

Hiermee haalt u een ICollection op met de sleutels in de DbConnectionStringBuilder.

Values

Hiermee haalt u een ICollection op met de waarden in de DbConnectionStringBuilder.

Methoden

Name Description
Add(String, Object)

Voegt een vermelding toe met de opgegeven sleutel en waarde in de DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Biedt een efficiënte en veilige manier om een sleutel en waarde toe te voegen aan een bestaand StringBuilder object.

AppendKeyValuePair(StringBuilder, String, String)

Biedt een efficiënte en veilige manier om een sleutel en waarde toe te voegen aan een bestaand StringBuilder object.

Clear()

Hiermee wist u de inhoud van het DbConnectionStringBuilder exemplaar.

ClearPropertyDescriptors()

Hiermee wist u de verzameling PropertyDescriptor objecten op de bijbehorende DbConnectionStringBuilder.

ContainsKey(String)

Bepaalt of de DbConnectionStringBuilder sleutel een specifieke sleutel bevat.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
EquivalentTo(DbConnectionStringBuilder)

Vergelijkt de verbindingsgegevens in dit DbConnectionStringBuilder object met de verbindingsgegevens in het opgegeven object.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetProperties(Hashtable)

Vult een opgegeven Hashtable met informatie over alle eigenschappen van deze DbConnectionStringBuilder.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
Remove(String)

Hiermee verwijdert u de vermelding met de opgegeven sleutel uit het DbConnectionStringBuilder exemplaar.

ShouldSerialize(String)

Geeft aan of de opgegeven sleutel bestaat in dit DbConnectionStringBuilder exemplaar.

ToString()

Retourneert de verbindingsreeks die aan deze DbConnectionStringBuilder zijn gekoppeld.

TryGetValue(String, Object)

Hiermee haalt u een waarde op die overeenkomt met de opgegeven sleutel.DbConnectionStringBuilder

Expliciete interface-implementaties

Name Description
ICollection.CopyTo(Array, Int32)

Kopieert de elementen van de ICollection elementen naar een Array, beginnend bij een bepaalde Array index.

ICollection.IsSynchronized

Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot de ICollection synchronisatie is gesynchroniseerd (thread safe).

ICollection.SyncRoot

Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot het ICollectionobject te synchroniseren.

ICustomTypeDescriptor.GetAttributes()

Retourneert een verzameling aangepaste kenmerken voor dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetClassName()

Retourneert de klassenaam van dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetComponentName()

Retourneert de naam van dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetConverter()

Retourneert een typeconversieprogramma voor dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetDefaultEvent()

Retourneert de standaard gebeurtenis voor dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetDefaultProperty()

Retourneert de standaardeigenschap voor dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetEditor(Type)

Retourneert een editor van het opgegeven type voor dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetEvents()

Retourneert de gebeurtenissen voor dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetEvents(Attribute[])

Retourneert de gebeurtenissen voor dit exemplaar van een onderdeel met behulp van de opgegeven kenmerkmatrix als filter.

ICustomTypeDescriptor.GetProperties()

Retourneert de eigenschappen voor dit exemplaar van een onderdeel.

ICustomTypeDescriptor.GetProperties(Attribute[])

Retourneert de eigenschappen voor dit exemplaar van een onderdeel met behulp van de kenmerkmatrix als filter.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Retourneert een object dat de eigenschap bevat die wordt beschreven door de opgegeven eigenschapsdescriptor.

IDictionary.Add(Object, Object)

Voegt een element met de opgegeven sleutel en waarde toe aan het IDictionary object.

IDictionary.Contains(Object)

Bepaalt of het IDictionary object een element met de opgegeven sleutel bevat.

IDictionary.GetEnumerator()

Retourneert een IDictionaryEnumerator object voor het IDictionary object.

IDictionary.IsFixedSize

Hiermee wordt een waarde opgehaald die aangeeft of het IDictionary object een vaste grootte heeft.

IDictionary.IsReadOnly

Hiermee wordt een waarde opgehaald die aangeeft of het IDictionary kenmerk Alleen-lezen is.

IDictionary.Item[Object]

Hiermee haalt u het element op of stelt u het in met de opgegeven sleutel.

IDictionary.Remove(Object)

Hiermee verwijdert u het element met de opgegeven sleutel uit het IDictionary object.

IEnumerable.GetEnumerator()

Retourneert een enumerator die door een verzameling wordt herhaald.

Extensiemethoden

Name Description
AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

Van toepassing op

Zie ook