SqlCommandBuilder Kelas

Definisi

Secara otomatis menghasilkan perintah tabel tunggal yang digunakan untuk mendamaikan perubahan yang DataSet dilakukan pada database SQL Server terkait. Kelas ini tidak dapat diwariskan.

public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class SqlCommandBuilder sealed : System::ComponentModel::Component
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class SqlCommandBuilder : System.ComponentModel.Component
type SqlCommandBuilder = class
    inherit DbCommandBuilder
type SqlCommandBuilder = class
    inherit Component
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits Component
Warisan
Warisan
SqlCommandBuilder

Contoh

Contoh berikut menggunakan SqlCommand, bersama SqlDataAdapter dan SqlConnection, untuk memilih baris dari sumber data. Contohnya diteruskan string koneksi, string kueri yang merupakan pernyataan T-SQL SELECT, dan string yang merupakan nama tabel database. Contohnya kemudian membuat SqlCommandBuilder.

public static DataSet SelectSqlRows(string connectionString,
    string queryString, string tableName)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(queryString, connection);
        SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

        connection.Open();

        DataSet dataSet = new DataSet();
        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        builder.GetUpdateCommand();

        //Without the SqlCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        return dataSet;
    }
}
Private Function SelectSqlRows(ByVal connectionString As String, _
    ByVal queryString As String, ByVal tableName As String) As DataSet

    Using connection As New SqlConnection(connectionString)

        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand(queryString, connection)
        Dim builder As New SqlCommandBuilder(adapter)

        connection.Open()

        Dim dataSet As New DataSet()
        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        builder.GetUpdateCommand()

        ' Without the SqlCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)

        Return dataSet
    End Using
End Function

Keterangan

SqlDataAdapter tidak secara otomatis menghasilkan pernyataan Transact-SQL yang diperlukan untuk mendamaikan perubahan yang DataSet dilakukan pada instans terkait SQL Server. Namun, Anda dapat membuat SqlCommandBuilder objek untuk secara otomatis menghasilkan pernyataan Transact-SQL untuk pembaruan tabel tunggal jika Anda mengatur SelectCommand properti dari SqlDataAdapter. Kemudian, setiap pernyataan Transact-SQL tambahan yang tidak Anda tetapkan dihasilkan oleh SqlCommandBuilder.

Mendaftarkan SqlCommandBuilder dirinya sebagai pendengar untuk RowUpdating peristiwa setiap kali Anda mengatur DataAdapter properti . Anda hanya dapat mengaitkan satu SqlDataAdapter atau SqlCommandBuilder objek satu sama lain pada satu waktu.

Untuk menghasilkan pernyataan INSERT, UPDATE, atau DELETE, SqlCommandBuilder menggunakan SelectCommand properti untuk mengambil sekumpulan metadata yang diperlukan secara otomatis. Jika Anda mengubah SelectCommand setelah metadata diambil, seperti setelah pembaruan pertama, Anda harus memanggil RefreshSchema metode untuk memperbarui metadata.

SelectCommand juga harus mengembalikan setidaknya satu kunci primer atau kolom unik. Jika tidak ada, pengecualian InvalidOperation dihasilkan, dan perintah tidak dihasilkan.

SqlCommandBuilder juga menggunakan Connectionproperti , CommandTimeout, dan Transaction yang dirujuk SelectCommandoleh . Pengguna harus memanggil RefreshSchema jika satu atau beberapa properti ini dimodifikasi, atau jika SelectCommand itu sendiri diganti. InsertCommandJika tidak, properti , UpdateCommand, dan DeleteCommand mempertahankan nilai sebelumnya.

Jika Anda memanggil Dispose, SqlCommandBuilder dikaitkan dari SqlDataAdapter, dan perintah yang dihasilkan tidak lagi digunakan.

Konstruktor

SqlCommandBuilder()

Menginisialisasi instans baru kelas SqlCommandBuilder.

SqlCommandBuilder(SqlDataAdapter)

Menginisialisasi instans SqlCommandBuilder baru kelas dengan objek terkait SqlDataAdapter .

Properti

CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
CatalogLocation

Mendapatkan atau mengatur untuk instans CatalogLocationSqlCommandBuilder kelas.

CatalogSeparator

Mendapatkan atau mengatur string yang digunakan sebagai pemisah katalog untuk instans SqlCommandBuilder kelas.

ConflictOption

Menentukan mana yang ConflictOption akan digunakan oleh DbCommandBuilder.

(Diperoleh dari DbCommandBuilder)
Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
DataAdapter

Mendapatkan atau mengatur SqlDataAdapter objek yang pernyataan Transact-SQL-nya dibuat secara otomatis.

DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
QuotePrefix

Mendapatkan atau mengatur karakter awal atau karakter yang akan digunakan saat menentukan SQL Server objek database, seperti tabel atau kolom, yang namanya berisi karakter seperti spasi atau token cadangan.

QuoteSuffix

Mendapatkan atau mengatur karakter akhir atau karakter yang akan digunakan saat menentukan SQL Server objek database, seperti tabel atau kolom, yang namanya berisi karakter seperti spasi atau token cadangan.

SchemaSeparator

Mendapatkan atau mengatur karakter yang akan digunakan untuk pemisah antara pengidentifikasi skema dan pengidentifikasi lainnya.

SetAllValues

Menentukan apakah semua nilai kolom dalam pernyataan pembaruan disertakan atau hanya yang diubah.

(Diperoleh dari DbCommandBuilder)
Site

Mendapatkan atau mengatur ISite dari Component.

(Diperoleh dari Component)

Metode

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Memungkinkan implementasi DbCommandBuilder penyedia kelas untuk menangani properti parameter tambahan.

(Diperoleh dari DbCommandBuilder)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
DeriveParameters(SqlCommand)

Mengambil informasi parameter dari prosedur tersimpan yang ditentukan dalam SqlCommand dan mengisi Parameters kumpulan objek yang ditentukan SqlCommand .

Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang DbCommandBuilder digunakan oleh dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari DbCommandBuilder)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang Component digunakan oleh dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari Component)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetDeleteCommand()

Mendapatkan objek yang dihasilkan SqlCommand secara otomatis yang diperlukan untuk melakukan penghapusan pada database.

GetDeleteCommand(Boolean)

Mendapatkan objek yang dihasilkan SqlCommand secara otomatis yang diperlukan untuk melakukan penghapusan pada database.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetInsertCommand()

Mendapatkan objek yang dihasilkan SqlCommand secara otomatis yang diperlukan untuk melakukan penyisipan pada database.

GetInsertCommand(Boolean)

Mendapatkan objek yang dihasilkan SqlCommand secara otomatis yang diperlukan untuk melakukan penyisipan pada database.

GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetParameterName(Int32)

Mengembalikan nama parameter yang ditentukan dalam format @p#. Gunakan saat membuat penyusun perintah kustom.

(Diperoleh dari DbCommandBuilder)
GetParameterName(String)

Mengembalikan nama parameter lengkap, dengan nama parameter parsial.

(Diperoleh dari DbCommandBuilder)
GetParameterPlaceholder(Int32)

Mengembalikan tempat penampung untuk parameter dalam pernyataan SQL terkait.

(Diperoleh dari DbCommandBuilder)
GetSchemaTable(DbCommand)

Mengembalikan tabel skema untuk DbCommandBuilder.

(Diperoleh dari DbCommandBuilder)
GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
GetUpdateCommand()

Mendapatkan objek yang dihasilkan SqlCommand secara otomatis yang diperlukan untuk melakukan pembaruan pada database.

GetUpdateCommand(Boolean)

Mendapatkan objek yang dihasilkan SqlCommand secara otomatis yang diperlukan untuk melakukan pembaruan pada database.

InitializeCommand(DbCommand)

Mengatur ulang CommandTimeoutproperti , Transaction, CommandType, dan UpdateRowSource pada DbCommand.

(Diperoleh dari DbCommandBuilder)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
QuoteIdentifier(String)

Mengingat pengidentifikasi yang tidak dikutip dalam kasus katalog yang benar, mengembalikan bentuk kutipan yang benar dari pengidentifikasi tersebut. Ini termasuk melarikan diri dengan benar setiap tanda kutip yang disematkan dalam pengidentifikasi.

RefreshSchema()

Menghapus perintah yang terkait dengan penyusun perintah ini.

RefreshSchema()

Menghapus perintah yang terkait dengan ini DbCommandBuilder.

(Diperoleh dari DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Menambahkan penanganan aktivitas untuk peristiwa tersebut RowUpdating .

(Diperoleh dari DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder Mendaftarkan untuk menangani RowUpdating peristiwa untuk DbDataAdapter.

(Diperoleh dari DbCommandBuilder)
ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari Component)
UnquoteIdentifier(String)

Mengingat pengidentifikasi yang dikutip, mengembalikan bentuk pengidentifikasi yang tidak dikutip yang benar. Ini termasuk melepaskan tanda kutip yang disematkan dengan benar dalam pengidentifikasi.

Acara

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)

Berlaku untuk

Lihat juga