Aracılığıyla paylaş


SqlCommandBuilder Sınıf

Tanım

İlişkili SQL Server veritabanıyla yapılan değişiklikleri uzlaştırmak için DataSet kullanılan tek tablolu komutları otomatik olarak oluşturur. Bu sınıf devralınamaz.

public ref class SqlCommandBuilder sealed : System::ComponentModel::Component
public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class SqlCommandBuilder : System.ComponentModel.Component
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
type SqlCommandBuilder = class
    inherit Component
type SqlCommandBuilder = class
    inherit DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits Component
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
Devralma
SqlCommandBuilder
Devralma

Örnekler

Aşağıdaki örnekte, bir veri kaynağından satır seçmek için , ve ile birlikte SqlDataAdapterSqlConnectionkullanılırSqlCommand. Örnek bir bağlantı dizesi, Transact-SQL SELECT deyimi olan bir sorgu dizesi ve veritabanı tablosunun adı olan bir dize geçirilir. Örnek daha sonra bir SqlCommandBuilderoluşturur.

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;
    }
}
Private Function SelectSqlRows(ByVal connectionString As String, _
    ByVal queryString As String, ByVal tableName As String) As DataSet

    Using connection As New SqlConnection(connectionString)

        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand(queryString, connection)
        Dim builder As New SqlCommandBuilder(adapter)

        connection.Open()

        Dim dataSet As 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
    End Using
End Function

Açıklamalar

, SqlDataAdapter SQL Server ilişkili örneğiyle yapılan değişiklikleri uzlaştırmak için DataSet gereken Transact-SQL deyimlerini otomatik olarak oluşturmaz. Ancak, özelliğini SqlDataAdapterayarlarsanız SelectCommand tek tablo güncelleştirmeleri için Transact-SQL deyimlerini otomatik olarak oluşturmak üzere bir SqlCommandBuilder nesnesi oluşturabilirsiniz. Ardından, ayarlamadığınız tüm ek Transact-SQL deyimleri tarafından SqlCommandBuilderoluşturulur.

özelliği SqlCommandBuilder her ayarlandığında DataAdapter olaylar için RowUpdating kendisini dinleyici olarak kaydeder. Bir kerede yalnızca bir SqlDataAdapter nesneyi veya SqlCommandBuilder nesneyi birbiriyle ilişkilendirebilirsiniz.

INSERT, UPDATE veya DELETE deyimleri oluşturmak için, SqlCommandBuilder gerekli bir meta veri kümesini otomatik olarak almak için özelliğini kullanır SelectCommand . Meta veriler alındıktan sonra örneğin ilk güncelleştirmeden sonra değerini değiştirirseniz SelectCommand , meta verileri güncelleştirmek için yöntemini çağırmanız RefreshSchema gerekir.

ayrıca SelectCommand en az bir birincil anahtar veya benzersiz sütun döndürmelidir. Hiçbiri yoksa InvalidOperation özel durumu oluşturulur ve komutlar oluşturulmaz.

ayrıca SqlCommandBuilder tarafından başvuruda bulunan SelectCommandConnection, CommandTimeoutve Transaction özelliklerini de kullanır. Kullanıcı, bu özelliklerden biri veya daha fazlası değiştirilirse veya kendisi değiştirilirse SelectCommand çağrısı RefreshSchema yapmalıdır. InsertCommandAksi takdirde , UpdateCommandve DeleteCommand özellikleri önceki değerlerini korur.

çağrısı Disposeyaparsanız , SqlCommandBuilder ile ilişkilendirilmez SqlDataAdapterve oluşturulan komutlar artık kullanılmaz.

Oluşturucular

SqlCommandBuilder()

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

SqlCommandBuilder(SqlDataAdapter)

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

Özellikler

CanRaiseEvents

Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır.

(Devralındığı yer: Component)
CatalogLocation

sınıfının bir örneği SqlCommandBuilder için öğesini CatalogLocation alır veya ayarlar.

CatalogSeparator

Sınıfının bir örneği için katalog ayırıcısı olarak kullanılan bir dizeyi SqlCommandBuilder alır veya ayarlar.

ConflictOption

ConflictOption tarafından DbCommandBuilderhangilerinin kullanılacağını belirtir.

(Devralındığı yer: DbCommandBuilder)
Container

öğesini IContainer içeren öğesini Componentalır.

(Devralındığı yer: Component)
DataAdapter

Transact-SQL deyimlerinin otomatik olarak oluşturulduğu nesneyi SqlDataAdapter alır veya ayarlar.

DesignMode

öğesinin şu anda tasarım modunda olup olmadığını Component gösteren bir değer alır.

(Devralındığı yer: Component)
Events

Bu Componentöğesine eklenen olay işleyicilerinin listesini alır.

(Devralındığı yer: Component)
QuotePrefix

Adları boşluk veya ayrılmış belirteç gibi karakterler içeren tablolar veya sütunlar gibi SQL Server veritabanı nesnelerini belirtirken kullanılacak başlangıç karakterini veya karakterleri alır veya ayarlar.

QuoteSuffix

Adları boşluk veya ayrılmış belirteç gibi karakterler içeren tablolar veya sütunlar gibi SQL Server veritabanı nesnelerini belirtirken kullanılacak bitiş karakterini veya karakterleri alır veya ayarlar.

SchemaSeparator

Şema tanımlayıcısı ile diğer tanımlayıcılar arasında ayırıcı için kullanılacak karakteri alır veya ayarlar.

SetAllValues

Bir update deyimindeki tüm sütun değerlerinin eklenip eklenmeyeceğini veya yalnızca değiştirilen değerlerin dahil edilip edilmeyeceğini belirtir.

(Devralındığı yer: DbCommandBuilder)
Site

öğesini alır veya ayarlar ISiteComponent.

(Devralındığı yer: Component)

Yöntemler

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Sınıfının sağlayıcı uygulamasının DbCommandBuilder ek parametre özelliklerini işlemesine izin verir.

(Devralındığı yer: DbCommandBuilder)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
DeriveParameters(SqlCommand)

içinde belirtilen SqlCommand saklı yordamdan parametre bilgilerini alır ve belirtilen SqlCommand nesnenin koleksiyonunu doldururParameters.

Dispose()

Component tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Component)
Dispose(Boolean)

Component tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

(Devralındığı yer: Component)
Dispose(Boolean)

DbCommandBuilder tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

(Devralındığı yer: DbCommandBuilder)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetDeleteCommand()

Veritabanında silme işlemleri gerçekleştirmek için gereken otomatik olarak oluşturulan SqlCommand nesneyi alır.

GetDeleteCommand(Boolean)

Veritabanında silme işlemleri gerçekleştirmek için gereken otomatik olarak oluşturulan SqlCommand nesneyi alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetInsertCommand()

Veritabanında eklemeler yapmak için gereken otomatik olarak oluşturulan SqlCommand nesneyi alır.

GetInsertCommand(Boolean)

Veritabanında eklemeleri gerçekleştirmek için gereken otomatik olarak oluşturulan SqlCommand nesneyi alır.

GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetParameterName(Int32)

Belirtilen parametrenin adını biçiminde @p#döndürür. Özel komut oluşturucu oluştururken kullanın.

(Devralındığı yer: DbCommandBuilder)
GetParameterName(String)

Kısmi parametre adı verilip tam parametre adını döndürür.

(Devralındığı yer: DbCommandBuilder)
GetParameterPlaceholder(Int32)

İlişkili SQL deyimindeki parametresi için yer tutucuyu döndürür.

(Devralındığı yer: DbCommandBuilder)
GetSchemaTable(DbCommand)

için DbCommandBuilderşema tablosunu döndürür.

(Devralındığı yer: DbCommandBuilder)
GetService(Type)

veya tarafından ComponentContainersağlanan bir hizmeti temsil eden bir nesnesi döndürür.

(Devralındığı yer: Component)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetUpdateCommand()

Veritabanında güncelleştirmeleri gerçekleştirmek için gereken otomatik olarak oluşturulan SqlCommand nesneyi alır.

GetUpdateCommand(Boolean)

Veritabanında güncelleştirmeleri gerçekleştirmek için gereken otomatik olarak oluşturulan SqlCommand nesneyi alır.

InitializeCommand(DbCommand)

üzerindeki DbCommand, Transaction, CommandTypeve UpdateRowSource özelliklerini sıfırlarCommandTimeout.

(Devralındığı yer: DbCommandBuilder)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
QuoteIdentifier(String)

Doğru katalog durumundaki tırnak içine alınmamış bir tanımlayıcı verildiğinde, bu tanımlayıcının doğru tırnak içine alınmış biçimini döndürür. Bu, tanımlayıcıdaki ekli tırnaklardan doğru şekilde kaçışı içerir.

RefreshSchema()

Bu komut oluşturucuyla ilişkili komutları temizler.

RefreshSchema()

Bu DbCommandBuilderile ilişkili komutları temizler.

(Devralındığı yer: DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Olay için bir olay işleyicisi RowUpdating ekler.

(Devralındığı yer: DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder olayını DbDataAdapterişlemek RowUpdating için öğesini kaydeder.

(Devralındığı yer: DbCommandBuilder)
ToString()

Varsa, adını Componentiçeren bir String döndürür. Bu yöntem geçersiz kılınmamalıdır.

(Devralındığı yer: Component)
UnquoteIdentifier(String)

Tırnak içine alınmış bir tanımlayıcı verildiğinde, bu tanımlayıcının doğru tırnak içine alınmamış biçimini döndürür. Bu, tanımlayıcıdaki eklenmiş tırnakların doğru şekilde özetini kaldırmayı içerir.

Ekinlikler

Disposed

Bileşen yöntemine Dispose() yapılan bir çağrı tarafından atıldığında gerçekleşir.

(Devralındığı yer: Component)

Şunlara uygulanır

Ayrıca bkz.