Bagikan melalui


SqlDataAdapter Kelas

Definisi

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, Inserttemplat perintah , , Updateatau 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, , UpdateCommandatau 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.

Berlaku untuk