DbConnectionStringBuilder Sınıf

Tanım

Kesin olarak yazılan bağlantı dizesi oluşturucuları için bir temel sınıf sağlar.

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
Devralma
DbConnectionStringBuilder
Türetilmiş
Uygulamalar

Örnekler

Aşağıdaki konsol uygulaması biri Microsoft Jet veritabanı, diğeri de SQL Server veritabanı için olmak üzere iki bağlantı dizesi oluşturur. Her durumda kod, bağlantı dizesi oluşturmak için genel DbConnectionStringBuilder bir sınıf kullanır ve ardından örneğin özelliğini DbConnectionStringBuilder kesin olarak türü belirlenmiş bağlantı sınıfının oluşturucusunda geçirirConnectionString. Bu gerekli değildir; kod, kesin olarak yazılan tek tek bağlantı dizesi oluşturucu örnekleri de oluşturmuş olabilir. Örnek ayrıca var olan bir bağlantı dizesi ayrıştırarak bağlantı dizesi içeriğini düzenlemenin çeşitli yollarını gösterir.

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

Açıklamalar

sınıfı, DbConnectionStringBuilder kesin olarak yazılan bağlantı dizesi oluşturucularının (SqlConnectionStringBuilder, OleDbConnectionStringBuildervb.) türetildiği temel sınıfı sağlar. bağlantı dizesi oluşturucuları, geliştiricilerin program aracılığıyla el dizimsel olarak doğru bağlantı dizeleri oluşturmasına ve mevcut bağlantı dizelerini ayrıştırıp yeniden oluşturmasına olanak sağlar.

DbConnectionStringBuilder veritabanı belirsiz bir şekilde tanımlanmıştır. Ad alanının eklenmesi nedeniyle System.Data.Common geliştiriciler, rastgele bir veritabanında çalışabilecek bağlantı dizeleri oluşturmak için programlanabilecekleri bir temel sınıf gerektirir. Bu nedenle, DbConnectionStringBuilder sınıfı kullanıcıların rastgele anahtar/değer çiftleri atamasına ve sonuçta elde edilen bağlantı dizesi kesin olarak belirlenmiş bir sağlayıcıya geçirmesine olanak tanır. .NET Framework parçası olarak dahil edilen tüm veri sağlayıcıları: SqlConnectionStringBuilder, , OracleConnectionStringBuilderOdbcConnectionStringBuilderve OleDbConnectionStringBuilderöğesinden DbConnectionStringBuilderdevralınan kesin olarak belirlenmiş bir sınıf sağlar.

Geliştirici, herhangi bir rastgele sağlayıcı için bağlantı dizeleri oluşturabilir, atayabilir ve düzenleyebilir. Belirli anahtar/değer çiftlerini destekleyen sağlayıcılar için, bağlantı dizesi oluşturucusu bilinen çiftlere karşılık gelen kesin olarak belirtilmiş özellikler sağlar. Geliştiriciler bilinmeyen değerleri destekleme olanağı gerektiren sağlayıcıları desteklemek için rastgele anahtar/değer çiftleri de sağlayabilir.

DbConnectionStringBuilder sınıfı, ICustomTypeDescriptor arabirimini uygular. Bu, sınıfın tasarım zamanında Visual Studio tasarımcılarıyla çalıştığı anlamına gelir. Geliştiriciler Visual Studio'da kesin olarak yazılan DataSet'ler ve kesin olarak yazılan bağlantılar oluşturmak için tasarımcıyı kullandığında, kesin olarak yazılan bağlantı dizesi oluşturucu sınıfı türüyle ilişkili özellikleri görüntüler ve ayrıca bilinen anahtarlar için ortak değerleri eşleyebilecek dönüştürücülere sahip olur.

Uygulamaların bir parçası olarak bağlantı dizeleri oluşturması gereken geliştiriciler, bağlantı dizelerini oluşturmak ve değiştirmek için sınıfını veya kesin olarak belirlenmiş türevlerinden birini kullanabilir DbConnectionStringBuilder . sınıfı, DbConnectionStringBuilder bir uygulama yapılandırma dosyasında depolanan bağlantı dizelerini yönetmeyi de kolaylaştırır.

Geliştiriciler, kesin olarak yazılan bir bağlantı dizesi oluşturucu sınıfını kullanarak bağlantı dizeleri oluşturabilir veya sınıfını DbConnectionStringBuilder kullanabilir. geçerli DbConnectionStringBuilder anahtar/değer çiftleri için denetim gerçekleştirmez. Bu nedenle, geçersiz bağlantı dizeleri oluşturmak için bu sınıfı kullanmak mümkündür. yalnızca SqlConnectionStringBuilder SQL Server tarafından desteklenen anahtar/değer çiftlerini destekler; geçersiz çiftler eklemeye çalışmak özel durum oluşturur.

Add Hem yöntem hem Item[] de özellik tanıtıcısı kötü amaçlı girişler eklemeye çalışır. Örneğin, aşağıdaki kod iç içe anahtar/değer çiftinden doğru şekilde çıkış yapar:

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

Sonuç, geçersiz değeri güvenli bir şekilde işleyen aşağıdaki bağlantı dizesi olur:

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

Oluşturucular

DbConnectionStringBuilder()

DbConnectionStringBuilder sınıfının yeni bir örneğini başlatır.

DbConnectionStringBuilder(Boolean)

İsteğe bağlı olarak değerlerin alıntılanması DbConnectionStringBuilder için ODBC kurallarını kullanarak sınıfının yeni bir örneğini başlatır.

Özellikler

BrowsableConnectionString

Özelliğin Visual Studio tasarımcılarında görünür olup olmadığını ConnectionString gösteren bir değer alır veya ayarlar.

ConnectionString

ile DbConnectionStringBuilderilişkili bağlantı dizesi alır veya ayarlar.

Count

özelliği içinde ConnectionString yer alan geçerli anahtar sayısını alır.

IsFixedSize

değerinin sabit bir boyuta sahip olup olmadığını DbConnectionStringBuilder belirten bir değer alır.

IsReadOnly

öğesinin salt okunur olup olmadığını DbConnectionStringBuilder belirten bir değer alır.

Item[String]

Belirtilen anahtarla ilişkili değeri alır veya ayarlar.

Keys

içindeki DbConnectionStringBuilderanahtarları içeren bir ICollection alır.

Values

içindeki DbConnectionStringBuilderdeğerleri içeren bir ICollection alır.

Yöntemler

Add(String, Object)

öğesine belirtilen anahtar ve değere DbConnectionStringBuildersahip bir girdi ekler.

AppendKeyValuePair(StringBuilder, String, String)

Mevcut StringBuilder bir nesneye anahtar ve değer eklemenin verimli ve güvenli bir yolunu sağlar.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Mevcut StringBuilder bir nesneye anahtar ve değer eklemenin verimli ve güvenli bir yolunu sağlar.

Clear()

Örneğin içeriğini DbConnectionStringBuilder temizler.

ClearPropertyDescriptors()

İlişkili DbConnectionStringBuildernesne koleksiyonunu PropertyDescriptor temizler.

ContainsKey(String)

öğesinin DbConnectionStringBuilder belirli bir anahtar içerip içermediğini belirler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
EquivalentTo(DbConnectionStringBuilder)

Bu DbConnectionStringBuilder nesnedeki bağlantı bilgilerini sağlanan nesnedeki bağlantı bilgileriyle karşılaştırır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetProperties(Hashtable)

Sağlanan Hashtable bir öğesini bu DbConnectionStringBuilderöğesinin tüm özellikleri hakkında bilgilerle doldurur.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Remove(String)

Belirtilen anahtara sahip girdiyi örnekten DbConnectionStringBuilder kaldırır.

ShouldSerialize(String)

Belirtilen anahtarın bu DbConnectionStringBuilder örnekte var olup olmadığını gösterir.

ToString()

Bu DbConnectionStringBuilderile ilişkili bağlantı dizesi döndürür.

TryGetValue(String, Object)

Bu DbConnectionStringBuilderanahtarından sağlanan anahtara karşılık gelen bir değeri alır.

Belirtik Arabirim Kullanımları

ICollection.CopyTo(Array, Int32)

öğesinin öğelerini ICollection belirli Array bir Arraydizinden başlayarak öğesine kopyalar.

ICollection.IsSynchronized

erişimin ICollection eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

ICollection.SyncRoot

erişimi ICollectioneşitlemek için kullanılabilecek bir nesnesi alır.

ICustomTypeDescriptor.GetAttributes()

Bir bileşenin bu örneği için özel özniteliklerden oluşan bir koleksiyon döndürür.

ICustomTypeDescriptor.GetClassName()

Bir bileşenin bu örneğinin sınıf adını döndürür.

ICustomTypeDescriptor.GetComponentName()

Bir bileşenin bu örneğinin adını döndürür.

ICustomTypeDescriptor.GetConverter()

Bir bileşenin bu örneği için tür dönüştürücüsü döndürür.

ICustomTypeDescriptor.GetDefaultEvent()

Bir bileşenin bu örneği için varsayılan olayı döndürür.

ICustomTypeDescriptor.GetDefaultProperty()

Bir bileşenin bu örneği için varsayılan özelliği döndürür.

ICustomTypeDescriptor.GetEditor(Type)

Bir bileşenin bu örneği için belirtilen türde bir düzenleyici döndürür.

ICustomTypeDescriptor.GetEvents()

Bir bileşenin bu örneği için olayları döndürür.

ICustomTypeDescriptor.GetEvents(Attribute[])

Belirtilen öznitelik dizisini filtre olarak kullanarak bir bileşenin bu örneğinin olaylarını döndürür.

ICustomTypeDescriptor.GetProperties()

Bir bileşenin bu örneği için özellikleri döndürür.

ICustomTypeDescriptor.GetProperties(Attribute[])

Öznitelik dizisini filtre olarak kullanarak bir bileşenin bu örneğinin özelliklerini döndürür.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Belirtilen özellik tanımlayıcısı tarafından açıklanan özelliği içeren bir nesnesi döndürür.

IDictionary.Add(Object, Object)

Sağlanan anahtar ve değere sahip bir öğeyi nesnesine IDictionary ekler.

IDictionary.Contains(Object)

Nesnenin belirtilen anahtara IDictionary sahip bir öğe içerip içermediğini belirler.

IDictionary.GetEnumerator()

Nesne için IDictionary bir IDictionaryEnumerator nesne döndürür.

IDictionary.IsFixedSize

Nesnenin sabit bir boyuta IDictionary sahip olup olmadığını belirten bir değer alır.

IDictionary.IsReadOnly

IDictionary öğesinin salt okunur olup olmadığını belirten bir değer alır.

IDictionary.Item[Object]

Belirtilen anahtarla öğesini alır veya ayarlar.

IDictionary.Remove(Object)

Belirtilen anahtara sahip öğesini nesneden IDictionary kaldırır.

IEnumerable.GetEnumerator()

Bir toplulukta tekrarlanan bir numaralandırıcı döndürür.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Bir öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini sağlar.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır

Ayrıca bkz.