SqlCommandBuilder Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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::ComponentModel::Component
public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class SqlCommandBuilder : System.ComponentModel.Component
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
type SqlCommandBuilder = class
inherit Component
type SqlCommandBuilder = class
inherit DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits Component
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
- Warisan
- Warisan
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 Component digunakan oleh dan secara opsional merilis sumber daya terkelola. (Diperoleh dari Component) |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang DbCommandBuilder digunakan oleh dan secara opsional merilis sumber daya terkelola. (Diperoleh dari DbCommandBuilder) |
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 |
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) |