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 merekonsiliasi perubahan yang DataSet dibuat pada database SQL Server terkait. Kelas ini tidak dapat diwariskan.
public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
type SqlCommandBuilder = class
inherit DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
- 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 TRANSACT-SQL SELECT, dan string yang merupakan nama tabel database. Contoh kemudian membuat SqlCommandBuilder.
using System;
using System.Data;
using Microsoft.Data.SqlClient;
namespace SqlCommandBuilderCS
{
class Program
{
static void Main()
{
string cnnst = "";
string queryst = "";
string tablen = "";
DataSet ds = SelectSqlRows(cnnst, queryst, tablen);
}
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;
}
}
Keterangan
SqlDataAdapter tidak secara otomatis menghasilkan pernyataan Transact-SQL yang diperlukan untuk merekonsiliasi perubahan yang DataSet dilakukan pada dengan instans SQL Server terkait. 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 properti , CommandTimeout, dan Transaction yang dirujuk ConnectionSelectCommandoleh . Pengguna harus memanggil RefreshSchema jika satu atau beberapa properti ini dimodifikasi, atau jika properti itu SelectCommand sendiri diganti. InsertCommandJika tidak, properti , UpdateCommand, dan DeleteCommand mempertahankan nilai sebelumnya.
Jika Anda memanggil Dispose, SqlCommandBuilder disasosiasi 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
CatalogLocation |
Mengatur atau mendapatkan untuk instans CatalogLocationSqlCommandBuilder kelas . |
CatalogSeparator |
Mengatur atau mendapatkan string yang digunakan sebagai pemisah katalog untuk instans SqlCommandBuilder kelas . |
DataAdapter |
Mendapatkan atau mengatur SqlDataAdapter objek yang pernyataan Transact-SQL-nya dibuat secara otomatis. |
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 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. |
Metode
DeriveParameters(SqlCommand) |
Mengambil informasi parameter dari prosedur tersimpan yang ditentukan dalam SqlCommand dan mengisi Parameters kumpulan objek yang ditentukan SqlCommand . |
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. |
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. |
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. |
QuoteIdentifier(String) |
Secara otomatis menghasilkan perintah tabel tunggal yang digunakan untuk merekonsiliasi perubahan yang DataSet dibuat pada database SQL Server terkait. Kelas ini tidak dapat diwariskan. |
UnquoteIdentifier(String) |
Mengingat pengidentifikasi yang dikutip, mengembalikan bentuk pengidentifikasi yang tidak dikutip yang benar. Ini termasuk membuka dengan benar tanda kutip yang disematkan dalam pengidentifikasi. |