DbConnectionStringBuilder Kelas

Definisi

Menyediakan kelas dasar untuk penyusun string koneksi yang ditik dengan kuat.

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
Warisan
DbConnectionStringBuilder
Turunan
Penerapan

Contoh

Aplikasi konsol berikut membangun dua string koneksi, satu untuk database Microsoft Jet, dan satu untuk database SQL Server. Dalam setiap kasus, kode menggunakan kelas generik DbConnectionStringBuilder untuk membuat string koneksi, lalu meneruskan ConnectionString properti DbConnectionStringBuilder instans ke konstruktor kelas koneksi yang sangat ditik. Ini tidak diperlukan; kode juga dapat membuat instans penyusun string koneksi yang ditik dengan kuat individu. Contohnya juga mengurai string koneksi yang ada, dan menunjukkan berbagai cara untuk memanipulasi konten string koneksi.

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

Keterangan

Kelas ini DbConnectionStringBuilder menyediakan kelas dasar dari mana penyusun string koneksi yang ditik dengan kuat (SqlConnectionStringBuilder, OleDbConnectionStringBuilder, dan sebagainya) berasal. Penyusun string koneksi memungkinkan pengembang membuat string koneksi yang benar secara terprogram, dan mengurai dan membangun kembali string koneksi yang ada.

DbConnectionStringBuilder telah didefinisikan dengan cara database-agnostik. Karena penambahan System.Data.Common namespace layanan, pengembang memerlukan kelas dasar yang dapat mereka programkan untuk membangun string koneksi yang dapat bekerja terhadap database arbitrer. Oleh karena itu, DbConnectionStringBuilder kelas memungkinkan pengguna menetapkan pasangan kunci/nilai arbitrer dan meneruskan string koneksi yang dihasilkan ke penyedia yang sangat di ketik. Semua penyedia data yang disertakan sebagai bagian dari .NET Framework menyediakan kelas dengan jenis kuat yang mewarisi dari DbConnectionStringBuilder: , , OracleConnectionStringBuilderOdbcConnectionStringBuilder, dan OleDbConnectionStringBuilderSqlConnectionStringBuilder.

Pengembang dapat membangun, menetapkan, dan mengedit string koneksi untuk penyedia arbitrer apa pun. Untuk penyedia yang mendukung pasangan kunci/nilai tertentu, penyusun string koneksi menyediakan properti yang sangat ditik yang sesuai dengan pasangan yang diketahui. Untuk mendukung penyedia yang memerlukan kemampuan untuk mendukung nilai yang tidak diketahui, pengembang juga dapat menyediakan pasangan kunci/nilai arbitrer.

Kelas DbConnectionStringBuilder menerapkan antarmuka ICustomTypeDescriptor. Ini berarti bahwa kelas bekerja dengan desainer Visual Studio pada waktu desain. Ketika pengembang menggunakan perancang untuk membangun Himpunan Data yang sangat di ketik dan koneksi yang sangat ditik dalam Visual Studio, kelas penyusun string koneksi yang ditik akan menampilkan properti yang terkait dengan jenisnya dan juga akan memiliki pengonversi yang dapat memetakan nilai umum untuk kunci yang diketahui.

Pengembang perlu membuat string koneksi sebagai bagian dari aplikasi dapat menggunakan DbConnectionStringBuilder kelas atau salah satu turunannya yang sangat ditik untuk membangun dan memodifikasi string koneksi. Kelas ini DbConnectionStringBuilder juga memudahkan untuk mengelola string koneksi yang disimpan dalam file konfigurasi aplikasi.

Pengembang dapat membuat string koneksi menggunakan kelas penyusun string koneksi yang di ketik dengan kuat, atau mereka dapat menggunakan DbConnectionStringBuilder kelas . DbConnectionStringBuilder tidak melakukan pemeriksaan untuk pasangan kunci/nilai yang valid. Oleh karena itu, dimungkinkan menggunakan kelas ini untuk membuat string koneksi yang tidak valid. Hanya SqlConnectionStringBuilder mendukung pasangan kunci/nilai yang didukung oleh SQL Server; mencoba menambahkan pasangan yang tidak valid akan memberikan pengecualian.

Add Metode dan Item[] handel properti mencoba menyisipkan entri berbahaya. Misalnya, kode berikut lolos dengan benar dari pasangan kunci/nilai berlapis:

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

Hasilnya adalah string koneksi berikut yang menangani nilai yang tidak valid dengan cara yang aman:

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

Konstruktor

DbConnectionStringBuilder()

Menginisialisasi instans baru kelas DbConnectionStringBuilder.

DbConnectionStringBuilder(Boolean)

Menginisialisasi instans DbConnectionStringBuilder baru kelas, secara opsional menggunakan aturan ODBC untuk mengutip nilai.

Properti

BrowsableConnectionString

Mendapatkan atau menetapkan nilai yang menunjukkan apakah ConnectionString properti terlihat di desainer Visual Studio.

ConnectionString

Mendapatkan atau mengatur string koneksi yang terkait dengan DbConnectionStringBuilder.

Count

Mendapatkan jumlah kunci saat ini yang terkandung dalam ConnectionString properti .

IsFixedSize

Mendapatkan nilai yang menunjukkan apakah DbConnectionStringBuilder memiliki ukuran tetap.

IsReadOnly

Mendapatkan nilai yang menunjukkan apakah DbConnectionStringBuilder bersifat baca-saja.

Item[String]

Mendapatkan atau mengatur nilai yang terkait dengan kunci yang ditentukan.

Keys

ICollection Mendapatkan yang berisi kunci di DbConnectionStringBuilder.

Values

Mendapatkan yang ICollection berisi nilai dalam DbConnectionStringBuilder.

Metode

Add(String, Object)

Menambahkan entri dengan kunci dan nilai yang ditentukan ke DbConnectionStringBuilderdalam .

AppendKeyValuePair(StringBuilder, String, String)

Menyediakan cara yang efisien dan aman untuk menambahkan kunci dan nilai ke objek yang ada StringBuilder .

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Menyediakan cara yang efisien dan aman untuk menambahkan kunci dan nilai ke objek yang ada StringBuilder .

Clear()

Menghapus konten instans DbConnectionStringBuilder .

ClearPropertyDescriptors()

Menghapus kumpulan PropertyDescriptor objek pada yang terkait DbConnectionStringBuilder.

ContainsKey(String)

Menentukan apakah berisi DbConnectionStringBuilder kunci tertentu.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
EquivalentTo(DbConnectionStringBuilder)

Membandingkan informasi koneksi dalam objek ini DbConnectionStringBuilder dengan informasi koneksi dalam objek yang disediakan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetProperties(Hashtable)

Mengisi yang disediakan Hashtable dengan informasi tentang semua properti ini DbConnectionStringBuilder.

GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Remove(String)

Menghapus entri dengan kunci yang ditentukan dari DbConnectionStringBuilder instans.

ShouldSerialize(String)

Menunjukkan apakah kunci yang ditentukan ada dalam instans ini DbConnectionStringBuilder .

ToString()

Mengembalikan string koneksi yang terkait dengan iniDbConnectionStringBuilder.

TryGetValue(String, Object)

Mengambil nilai yang sesuai dengan kunci yang disediakan dari ini DbConnectionStringBuilder.

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

Menyalin elemen ICollection ke Array, dimulai pada indeks tertentu Array .

ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan ICollection (utas aman).

ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke ICollection.

ICustomTypeDescriptor.GetAttributes()

Mengembalikan kumpulan atribut kustom untuk instans komponen ini.

ICustomTypeDescriptor.GetClassName()

Mengembalikan nama kelas instans komponen ini.

ICustomTypeDescriptor.GetComponentName()

Mengembalikan nama instans komponen ini.

ICustomTypeDescriptor.GetConverter()

Mengembalikan pengonversi jenis untuk instans komponen ini.

ICustomTypeDescriptor.GetDefaultEvent()

Mengembalikan peristiwa default untuk instans komponen ini.

ICustomTypeDescriptor.GetDefaultProperty()

Mengembalikan properti default untuk instans komponen ini.

ICustomTypeDescriptor.GetEditor(Type)

Mengembalikan editor dari jenis yang ditentukan untuk instans komponen ini.

ICustomTypeDescriptor.GetEvents()

Mengembalikan peristiwa untuk instans komponen ini.

ICustomTypeDescriptor.GetEvents(Attribute[])

Mengembalikan peristiwa untuk instans komponen ini menggunakan array atribut yang ditentukan sebagai filter.

ICustomTypeDescriptor.GetProperties()

Mengembalikan properti untuk instans komponen ini.

ICustomTypeDescriptor.GetProperties(Attribute[])

Mengembalikan properti untuk instans komponen ini menggunakan array atribut sebagai filter.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Mengembalikan objek yang berisi properti yang dijelaskan oleh pendeskripsi properti yang ditentukan.

IDictionary.Add(Object, Object)

Menambahkan elemen dengan kunci dan nilai yang disediakan ke IDictionary objek .

IDictionary.Contains(Object)

Menentukan apakah IDictionary objek berisi elemen dengan kunci yang ditentukan.

IDictionary.GetEnumerator()

Mengembalikan IDictionaryEnumerator objek untuk IDictionary objek .

IDictionary.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah IDictionary objek memiliki ukuran tetap.

IDictionary.IsReadOnly

Mendapatkan nilai yang menunjukkan apakah IDictionary bersifat baca-saja.

IDictionary.Item[Object]

Mendapatkan atau mengatur elemen dengan kunci yang ditentukan.

IDictionary.Remove(Object)

Menghapus elemen dengan kunci yang ditentukan dari IDictionary objek .

IEnumerable.GetEnumerator()

Mengembalikan enumerator yang melakukan iterasi melalui koleksi.

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari IEnumerable ke jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis tertentu.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk

Lihat juga