Aracılığıyla paylaş


SqlCommandBuilder Sınıf

Tanım

ile ilişkili SQL Server veritabanıyla yapılan değişiklikleri mutabık hale getirmek 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, veri kaynağından SqlCommandsatır seçmek için ile birlikte SqlDataAdapter ve SqlConnectionkullanılır. Ö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 'de yapılan değişiklikleri SQL Server'ın ilişkili örneğiyle mutabık hale getirmek için DataSet gereken Transact-SQL deyimlerini otomatik olarak oluşturmaz. Ancak özelliğini ayarlarsanız SelectCommandSqlDataAdaptertek tablolu güncelleştirmeler için otomatik olarak Transact-SQL deyimleri oluşturmak üzere bir SqlCommandBuilder nesne oluşturabilirsiniz. Ardından, ayarlamadığınız 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 değerini değiştirirseniz SelectCommand (örneğin, ilk güncelleştirmeden sonra) meta verileri güncelleştirmek için yöntemini çağırmalısınız RefreshSchema .

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

, 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ğırmalıdırRefreshSchema. 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

Name Description
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 nesneyle başlatır.

Özellikler

Name Description
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

Name Description
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 SqlCommand belirtilen saklı yordamdan parametre bilgilerini alır ve belirtilen SqlCommand nesnenin koleksiyonunu doldururParameters.

Dispose()

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

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

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

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

tarafından DbCommandBuilder kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları 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 eklemeleri gerçekleştirmek 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ı verilen 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 Componenttarafından Container sağlanan bir hizmeti temsil eden bir nesnesi döndürür.

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

Geçerli örneğin Type 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 Objectbasit 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 örneğinde 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ırnakların doğru şekilde kaçmasını 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ı işlemek RowUpdating için DbDataAdapteröğesini kaydeder.

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

Varsa, adını Stringiçeren bir Component 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 ve tırnak içine alınmamış biçimini döndürür. Bu, tanımlayıcıdaki ekli tırnakların doğru şekilde özetini kaldırmayı içerir.

Ekinlikler

Name Description
Disposed

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

(Devralındığı yer: Component)

Şunlara uygulanır

Ayrıca bkz.