SqlDataAdapter Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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. . |