Aracılığıyla paylaş


SqlDataAdapter Sınıf

Tanım

bir veri komutlarını ve SQL Server veritabanını doldurmak DataSet ve güncelleştirmek için kullanılan veritabanı bağlantısını temsil eder. Bu sınıf devralınamaz.

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
Devralma
SqlDataAdapter
Uygulamalar

Örnekler

Aşağıdaki örnekte, veritabanından SqlCommandkayıtları seçmek ve SqlConnection öğesini seçili satırlarla doldurmak DataSet için , SqlDataAdapterve kullanılır. Doldurulan DataSet daha sonra döndürülür. Bunu yapmak için yöntemine başlatıldı DataSet, bağlantı dizesi ve Transact-SQL SELECT deyimi olan bir sorgu dizesi geçirilir.

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;
        }
    }
}

Açıklamalar

, SqlDataAdapterveri almak ve kaydetmek için ve SQL Server arasında bir DataSet köprü görevi görür. , SqlDataAdapter içindeki verileri veri kaynağındaki DataSet verilerle eşleşecek şekilde değiştiren ve Updateveri kaynağındaki verileri içindeki verilerle eşleşecek DataSetşekilde değiştiren ve veri kaynağında uygun Transact-SQL deyimlerini kullanarak öğesini eşleyerek Fillbu köprüyü sağlar. Güncelleştirme, satır temelinde gerçekleştirilir. Yöntemi eklenen, değiştirilen ve silinen her satır için, Update üzerinde gerçekleştirilen değişikliğin türünü (Insert, Updateveya Delete) belirler. Değişikliğin türüne bağlı olarak, Insertdeğiştirilen satırı veri kaynağına yaymak için , Updateveya Delete komut şablonu yürütülür. SqlDataAdapter bir DataSetöğesini doldurduğunda, döndürülen veriler henüz mevcut değilse, bunlar için gerekli tabloları ve sütunları oluşturur. Ancak, özelliği olarak ayarlanmadığı AddWithKeysürece birincil anahtar bilgileri örtük olarak oluşturulan şemaya MissingSchemaAction eklenmez. Ayrıca SqlDataAdapter kullanarak verilerle FillSchemadoldurmadan önce birincil anahtar bilgileri de dahil olmak üzere şemasını DataSetoluşturabilirsiniz. Daha fazla bilgi için bkz. DataSet'e Mevcut Kısıtlamaları Ekleme.

SqlDataAdapterbir SQL Server veritabanına bağlanırken performansı artırmak için ve SqlCommand ile SqlConnection birlikte kullanılır.

Not

kullanarak verileri DataAdapterdüzenlemek veya silmek için SQL Server saklı yordamlar kullanıyorsanız saklı yordam tanımında SET NOCOUNT ON kullanmadığınızdan emin olun. Bu, etkilenen satır sayısının sıfır olmasına neden olur ve bu DataAdapter da eşzamanlılık çakışması olarak yorumlar. Bu olayda bir DBConcurrencyException oluşturulur.

ayrıcaSqlDataAdapter, verilerin yüklenmesini SelectCommandve TableMappings güncelleştirilmesini kolaylaştırmak için , InsertCommandDeleteCommand, , UpdateCommandve özelliklerini içerir.

Örneği SqlDataAdapter oluşturulduğunda, okuma/yazma özellikleri ilk değerlere ayarlanır. Bu değerlerin listesi için oluşturucuya SqlDataAdapter bakın.

InsertCommand, DeleteCommandve UpdateCommand parametreleri mekanizması aracılığıyla değiştirilen her satırdaki tek tek değerlerle otomatik olarak doldurulan genel şablonlardır.

üzerindeki Updateveri kaynağına yaydığınız her sütun için , UpdateCommandveya DeleteCommandöğesine bir parametre eklenmelidirInsertCommand. SourceColumn nesnesinin DbParameter özelliği sütunun adına ayarlanmalıdır. Bu ayar parametrenin değerinin el ile ayarlanmadığını, ancak o anda işlenen satırdaki belirli bir sütundan alındığını gösterir.

Not

InvalidOperationException yöntemi çağrılırsa Fill ve tablo istemci bilgisayarda bulunmayan kullanıcı tanımlı bir tür içeriyorsa oluşur. Daha fazla bilgi için bkz. CLR User-Defined Türleri.

Oluşturucular

SqlDataAdapter()

SqlDataAdapter sınıfının yeni bir örneğini başlatır.

SqlDataAdapter(SqlCommand)

özelliği olarak belirtilen SqlCommand sınıfın SqlDataAdapter yeni bir örneğini SelectCommand başlatır.

SqlDataAdapter(String, SqlConnection)

ve nesnesiyle SelectCommand sınıfının yeni bir SqlConnection örneğini SqlDataAdapter başlatır.

SqlDataAdapter(String, String)

ve bağlantı dizesi ile SelectCommand sınıfının yeni bir örneğini SqlDataAdapter başlatır.

Özellikler

DeleteCommand

Veri kümesinden kayıtları silmek için transact-SQL deyimini veya saklı yordamı alır veya ayarlar.

InsertCommand

Veri kaynağına yeni kayıtlar eklemek için transact-SQL deyimini veya saklı yordamı alır veya ayarlar.

SelectCommand

Veri kaynağındaki kayıtları seçmek için kullanılan transact-SQL deyimini veya saklı yordamı alır veya ayarlar.

UpdateBatchSize

Sunucuya yapılan her gidiş dönüşte işlenen satır sayısını alır veya ayarlar.

UpdateCommand

Veri kaynağındaki kayıtları güncelleştirmek için kullanılan transact-SQL deyimini veya saklı yordamı alır veya ayarlar.

Ekinlikler

RowUpdated

Veri kaynağında bir komut yürütüldükten sonra gerçekleşir Update(DataSet) . Güncelleştirme girişimi yapıldığından olay tetikler.

RowUpdating

Veri kaynağında bir komut yürütülmeden önce gerçekleşir Update(DataSet) . Güncelleştirme girişimi yapıldığından olay tetikler.

Belirtik Arabirim Kullanımları

ICloneable.Clone()

Bu üyenin açıklaması için bkz Clone(). .

IDbDataAdapter.DeleteCommand

Bu üyenin açıklaması için bkz DeleteCommand. .

IDbDataAdapter.InsertCommand

Bu üyenin açıklaması için bkz InsertCommand. .

IDbDataAdapter.SelectCommand

Bu üyenin açıklaması için bkz SelectCommand. .

IDbDataAdapter.UpdateCommand

Bu üyenin açıklaması için bkz UpdateCommand. .

Şunlara uygulanır