Bagikan melalui


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 DbConnectionStringBuilder generik untuk membuat string koneksi, lalu meneruskan properti ConnectionString instans DbConnectionStringBuilder ke konstruktor kelas koneksi yang sangat ditik. Ini tidak diperlukan; kode juga dapat membuat masing-masing instans pembuat string koneksi yang ditik dengan kuat. Contoh ini juga mengurai string koneksi yang ada, dan menunjukkan berbagai cara untuk memanipulasi konten string koneksi.

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

Keterangan

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

DbConnectionStringBuilder telah didefinisikan dengan cara agnostik database. Karena penambahan namespace System.Data.Common, pengembang memerlukan kelas dasar yang dapat mereka programkan untuk membangun string koneksi yang dapat bekerja terhadap database arbitrer. Oleh karena itu, kelas DbConnectionStringBuilder memungkinkan pengguna menetapkan pasangan kunci/nilai arbitrer dan meneruskan string koneksi yang dihasilkan ke penyedia yang dititik dengan kuat. Semua penyedia data yang disertakan sebagai bagian dari .NET menawarkan kelas dengan jenis kuat yang mewarisi dari DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilder, dan OleDbConnectionStringBuilder.

Anda 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 penyedia yang memerlukan kemampuan untuk mendukung nilai yang tidak diketahui, Anda juga dapat menyediakan pasangan kunci/nilai arbitrer.

Kelas DbConnectionStringBuilder mengimplementasikan 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 sangat ditik menampilkan properti yang terkait dengan jenisnya dan juga memiliki pengonversi yang dapat memetakan nilai umum untuk kunci yang diketahui.

Jika Anda perlu membuat string koneksi sebagai bagian dari aplikasi, gunakan kelas DbConnectionStringBuilder atau salah satu turunannya yang sangat ditik untuk membangun dan memodifikasi string koneksi. Kelas DbConnectionStringBuilder juga memudahkan untuk mengelola string koneksi yang disimpan dalam file konfigurasi aplikasi.

Anda dapat membuat string koneksi menggunakan kelas pembangun string koneksi yang ditik dengan kuat atau kelas DbConnectionStringBuilder. DbConnectionStringBuilder tidak melakukan pemeriksaan untuk pasangan kunci/nilai yang valid. Oleh karena itu, dimungkinkan untuk membuat string koneksi yang tidak valid saat menggunakan kelas ini. SqlConnectionStringBuilder hanya mendukung pasangan kunci/nilai yang didukung oleh SQL Server; mencoba menambahkan pasangan yang tidak valid akan melemparkan pengecualian.

Metode Add dan kasus handel properti Item[] di mana aktor jahat 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 baru kelas DbConnectionStringBuilder, secara opsional menggunakan aturan ODBC untuk mengutip nilai.

Properti

BrowsableConnectionString

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

ConnectionString

Mendapatkan atau mengatur string koneksi yang terkait dengan DbConnectionStringBuilder.

Count

Mendapatkan jumlah kunci saat ini yang terkandung dalam properti ConnectionString.

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

Mendapatkan ICollection yang berisi kunci di DbConnectionStringBuilder.

Values

Mendapatkan ICollection yang berisi nilai dalam DbConnectionStringBuilder.

Metode

Add(String, Object)

Menambahkan entri dengan kunci dan nilai yang ditentukan ke dalam DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

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

AppendKeyValuePair(StringBuilder, String, String)

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

Clear()

Menghapus konten instans DbConnectionStringBuilder.

ClearPropertyDescriptors()

Menghapus kumpulan objek PropertyDescriptor pada DbConnectionStringBuilderterkait .

ContainsKey(String)

Menentukan apakah DbConnectionStringBuilder berisi kunci tertentu.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
EquivalentTo(DbConnectionStringBuilder)

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

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetProperties(Hashtable)

Mengisi Hashtable yang disediakan dengan informasi tentang semua properti DbConnectionStringBuilderini .

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
Remove(String)

Menghapus entri dengan kunci yang ditentukan dari instans DbConnectionStringBuilder.

ShouldSerialize(String)

Menunjukkan apakah kunci yang ditentukan ada dalam instans DbConnectionStringBuilder ini.

ToString()

Mengembalikan string koneksi yang terkait dengan DbConnectionStringBuilderini.

TryGetValue(String, Object)

Mengambil nilai yang sesuai dengan kunci yang disediakan dari DbConnectionStringBuilderini.

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

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

ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke ICollection disinkronkan (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 deskriptor properti yang ditentukan.

IDictionary.Add(Object, Object)

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

IDictionary.Contains(Object)

Menentukan apakah objek IDictionary berisi elemen dengan kunci yang ditentukan.

IDictionary.GetEnumerator()

Mengembalikan objek IDictionaryEnumerator untuk objek IDictionary.

IDictionary.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah objek IDictionary 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 objek IDictionary.

IEnumerable.GetEnumerator()

Mengembalikan enumerator yang melakukan iterasi melalui koleksi.

Metode Ekstensi

Cast<TResult>(IEnumerable)

Melemparkan elemen IEnumerable ke jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen IEnumerable berdasarkan jenis tertentu.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi IEnumerable menjadi IQueryable.

Berlaku untuk

Lihat juga