SqlDataAdapter 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.
Mewakili sekumpulan perintah data dan koneksi database yang digunakan untuk mengisi DataSet dan memperbarui database SQL Server. Kelas ini tidak dapat diwariskan.
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDataAdapter, System::Data::IDbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDataAdapter, System.Data.IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter
type SqlDataAdapter = class
inherit DbDataAdapter
interface IDbDataAdapter
interface IDataAdapter
interface ICloneable
type SqlDataAdapter = class
inherit DbDataAdapter
interface IDataAdapter
interface IDbDataAdapter
interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDataAdapter, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
- Warisan
-
SqlDataAdapter
- Penerapan
Contoh
Contoh berikut menggunakan SqlCommand, , dan SqlConnection untuk memilih rekaman dari database dan mengisi DataSet dengan SqlDataAdapterbaris yang dipilih. Yang diisi DataSet kemudian dikembalikan. Untuk mencapai hal ini, metode diteruskan sebagai inisialisasi DataSet, string koneksi, dan string kueri yang merupakan pernyataan T-SQL SELECT.
using Microsoft.Data.SqlClient;
using System.Xml;
using System.Data.Common;
using System.Windows.Forms;
public class Form1 : Form
{
protected DataSet DataSet1;
protected DataGrid dataGrid1;
private static DataSet SelectRows(DataSet dataset,
string connectionString, string queryString)
{
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(
queryString, connection);
adapter.Fill(dataset);
return dataset;
}
}
}
Keterangan
SqlDataAdapter, berfungsi sebagai jembatan antara a DataSet dan SQL Server untuk mengambil dan menyimpan data. SqlDataAdapter menyediakan jembatan ini dengan memetakan Fill, yang mengubah data dalam DataSet agar sesuai dengan data di sumber data, dan Update, yang mengubah data di sumber data agar sesuai dengan data di DataSet, menggunakan pernyataan Transact-SQL yang sesuai terhadap sumber data. Pembaruan dilakukan berdasarkan baris demi baris. Untuk setiap baris yang disisipkan, dimodifikasi, dan dihapus, Update metode menentukan jenis perubahan yang telah dilakukan di atasnya (Insert
, Update
, atau Delete
). Bergantung pada jenis perubahan, Insert
templat perintah , , Update
atau Delete
dijalankan untuk menyebarkan baris yang dimodifikasi ke sumber data. SqlDataAdapter Saat mengisi DataSet, itu membuat tabel dan kolom yang diperlukan untuk data yang dikembalikan jika belum ada. Namun, informasi kunci primer tidak disertakan dalam skema yang dibuat secara implisit kecuali MissingSchemaAction properti diatur ke AddWithKey. Anda mungkin juga memiliki SqlDataAdapter skema DataSetbuat , termasuk informasi kunci primer, sebelum mengisinya dengan data menggunakan FillSchema
. Untuk informasi selengkapnya, lihat Menambahkan Batasan yang Ada ke Himpunan Data.
SqlDataAdapterdigunakan bersama dengan SqlConnection dan SqlCommand untuk meningkatkan performa saat menyambungkan ke database SQL Server.
Catatan
Jika Anda menggunakan prosedur tersimpan SQL Server untuk mengedit atau menghapus data menggunakan DataAdapter
, pastikan bahwa Anda tidak menggunakan SET NOCOUNT ON dalam definisi prosedur tersimpan. Ini menyebabkan jumlah baris yang terpengaruh dikembalikan menjadi nol, yang ditafsirkan DataAdapter
sebagai konflik konkurensi. Dalam hal ini, DBConcurrencyException akan dilemparkan.
juga SqlDataAdapter mencakup SelectCommandproperti , InsertCommand, DeleteCommand, UpdateCommand, dan TableMappings untuk memfasilitasi pemuatan dan pembaruan data.
Saat instans SqlDataAdapter dibuat, properti baca/tulis diatur ke nilai awal. Untuk daftar nilai-nilai ini, lihat SqlDataAdapter konstruktor.
InsertCommand, DeleteCommand, dan UpdateCommand adalah templat generik yang secara otomatis diisi dengan nilai individual dari setiap baris yang dimodifikasi melalui mekanisme parameter.
Untuk setiap kolom yang Anda sebarkan ke sumber data pada Update, parameter harus ditambahkan ke InsertCommand
, , UpdateCommand
atau DeleteCommand
. SourceColumn Properti DbParameter objek harus diatur ke nama kolom. Pengaturan ini menunjukkan bahwa nilai parameter tidak diatur secara manual, tetapi diambil dari kolom tertentu di baris yang saat ini diproses.
Catatan
InvalidOperationException Akan terjadi jika Fill metode dipanggil dan tabel berisi jenis yang ditentukan pengguna yang tidak tersedia di komputer klien. Untuk informasi selengkapnya, lihat Jenis User-Defined CLR.
Konstruktor
SqlDataAdapter() |
Menginisialisasi instans baru kelas SqlDataAdapter. |
SqlDataAdapter(SqlCommand) |
Menginisialisasi instans SqlDataAdapter baru kelas dengan yang ditentukan SqlCommand sebagai SelectCommand properti . |
SqlDataAdapter(String, SqlConnection) |
Menginisialisasi instans SqlDataAdapter baru kelas dengan SelectCommand objek dan SqlConnection . |
SqlDataAdapter(String, String) |
Menginisialisasi instans SqlDataAdapter baru kelas dengan SelectCommand string koneksi dan . |
Properti
DeleteCommand |
Mendapatkan atau mengatur pernyataan Transact-SQL atau prosedur tersimpan untuk menghapus rekaman dari himpunan data. |
InsertCommand |
Mendapatkan atau mengatur pernyataan Transact-SQL atau prosedur tersimpan untuk menyisipkan rekaman baru ke sumber data. |
SelectCommand |
Mendapatkan atau mengatur pernyataan Transact-SQL atau prosedur tersimpan yang digunakan untuk memilih rekaman di sumber data. |
UpdateBatchSize |
Mendapatkan atau mengatur jumlah baris yang diproses di setiap round-trip ke server. |
UpdateCommand |
Mendapatkan atau mengatur pernyataan Transact-SQL atau prosedur tersimpan yang digunakan untuk memperbarui rekaman di sumber data. |
Acara
RowUpdated |
Terjadi selama Update(DataSet) setelah perintah dijalankan terhadap sumber data. Upaya untuk memperbarui dilakukan, sehingga peristiwa diaktifkan. |
RowUpdating |
Terjadi selama Update(DataSet) sebelum perintah dijalankan terhadap sumber data. Upaya untuk memperbarui dilakukan, sehingga peristiwa diaktifkan. |
Implementasi Antarmuka Eksplisit
ICloneable.Clone() |
Untuk deskripsi anggota ini, lihat Clone(). |
IDbDataAdapter.DeleteCommand |
Untuk deskripsi anggota ini, lihat DeleteCommand. |
IDbDataAdapter.InsertCommand |
Untuk deskripsi anggota ini, lihat InsertCommand. |
IDbDataAdapter.SelectCommand |
Untuk deskripsi anggota ini, lihat SelectCommand. |
IDbDataAdapter.UpdateCommand |
Untuk deskripsi anggota ini, lihat UpdateCommand. |