SqlCommandBuilder Osztály

Definíció

Automatikusan létrehoz egytáblás parancsokat, amelyek a DataSet módosításainak egyeztetésére szolgálnak a társított SQL Server adatbázissal. Ez az osztály nem örökölhető.

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
Öröklődés
SqlCommandBuilder
Öröklődés

Példák

Az alábbi példa a sorok adatforrásból való kiválasztására használja a SqlCommandmentén SqlDataAdapter és SqlConnectiona mellette lévő elemet. A példa egy kapcsolati karakterlánc, egy Transact-SQL SELECT utasítást tartalmazó lekérdezési sztring, valamint egy olyan sztring, amely az adatbázistábla neve. A példa ezután létrehoz egy SqlCommandBuilder.

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

Megjegyzések

A SqlDataAdapter nem hozza létre automatikusan a DataSet módosításainak és a SQL Server társított példányának egyeztetéséhez szükséges Transact-SQL utasításokat. Létrehozhat azonban egy SqlCommandBuilder objektumot, amely automatikusan létrehoz Transact-SQL utasításokat az egytáblás frissítésekhez, ha beállítja a SelectCommandSqlDataAdapter tulajdonságát. Ezután a nem beállított további Transact-SQL utasításokat a SqlCommandBuilder hozza létre.

A SqlCommandBuilder tulajdonság beállításakor a rendszer figyelőként regisztrálja magát az RowUpdating eseményekhezDataAdapter. Egyszerre csak egyet SqlDataAdapter vagy SqlCommandBuilder objektumot társíthat egymáshoz.

AZ INSERT, UPDATE vagy DELETE utasítások létrehozásához a SqlCommandBuilderSelectCommand tulajdonság használatával automatikusan lekéri a szükséges metaadatokat. Ha módosítja a SelectCommand metaadatok lekérése után( például az első frissítés után), hívja meg a RefreshSchema metódust a metaadatok frissítéséhez.

A SelectCommand kulcsnak legalább egy elsődleges kulcsot vagy egyedi oszlopot is vissza kell adnia. Ha nincs jelen, érvénytelenműködtetési kivétel jön létre, és a parancsok nem jönnek létre.

Az SqlCommandBuilder is használja a Connection, CommandTimeoutés Transaction a tulajdonságok által SelectCommandhivatkozott. A felhasználónak fel kell hívnia RefreshSchema , ha egy vagy több tulajdonság módosult, vagy ha a SelectCommand rendszer lecserélte magát. Ellenkező esetben a InsertCommand, UpdateCommandés DeleteCommand a tulajdonságok megőrzik a korábbi értékeket.

Ha meghívja Dispose, a rendszer nem társítja a SqlCommandBuilder parancsot, SqlDataAdapterés a generált parancsok már nem lesznek használatban.

Konstruktorok

Name Description
SqlCommandBuilder()

Inicializálja a SqlCommandBuilder osztály új példányát.

SqlCommandBuilder(SqlDataAdapter)

Inicializálja az osztály új példányát SqlCommandBuilder a társított objektummal SqlDataAdapter .

Tulajdonságok

Name Description
CanRaiseEvents

Beolvas egy értéket, amely jelzi, hogy az összetevő képes-e eseményt létrehozni.

(Öröklődés forrása Component)
CatalogLocation

Lekéri vagy beállítja az CatalogLocation osztály egy példányát SqlCommandBuilder .

CatalogSeparator

Lekéri vagy beállítja az osztály egy példányának katalóguselválasztójaként használt sztringet SqlCommandBuilder .

ConflictOption

Megadja, hogy melyiket ConflictOption használja a DbCommandBuilderrendszer.

(Öröklődés forrása DbCommandBuilder)
Container

Lekéri a IContainer .Component

(Öröklődés forrása Component)
DataAdapter

Lekéri vagy beállít egy SqlDataAdapter objektumot, amelyhez a Transact-SQL utasítások automatikusan létrejönnek.

DesignMode

Olyan értéket kap, amely jelzi, hogy az Component aktuálisan tervezési módban van-e.

(Öröklődés forrása Component)
Events

Lekéri az ehhez Componentcsatolt eseménykezelők listáját.

(Öröklődés forrása Component)
QuotePrefix

Lekéri vagy beállítja azokat a kezdő karaktert vagy karaktereket, amelyek SQL Server adatbázis-objektumok, például táblák vagy oszlopok megadásakor használhatók, amelyek neve olyan karaktereket tartalmaz, mint a szóközök vagy a fenntartott jogkivonatok.

QuoteSuffix

Lekéri vagy beállítja azokat a záró karaktereket vagy karaktereket, amelyek SQL Server adatbázis-objektumok, például táblák vagy oszlopok megadásakor használhatók, amelyek neve olyan karaktereket tartalmaz, mint a szóközök vagy a fenntartott jogkivonatok.

SchemaSeparator

Lekéri vagy beállítja az elválasztó karaktert a sémaazonosító és bármely más azonosító között.

SetAllValues

Megadja, hogy a frissítési utasításban szereplő összes oszlopérték szerepel-e benne, vagy csak módosítva.

(Öröklődés forrása DbCommandBuilder)
Site

Lekéri vagy megadja a ISite értékét a Component-hez.

(Öröklődés forrása Component)

Metódusok

Name Description
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Lehetővé teszi az osztály szolgáltatói implementációjának DbCommandBuilder további paramétertulajdonságok kezelését.

(Öröklődés forrása DbCommandBuilder)
CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
DeriveParameters(SqlCommand)

Lekéri a paraméteradatokat a megadott SqlCommand tárolt eljárásból, és feltölti a Parameters megadott SqlCommand objektum gyűjteményét.

Dispose()

Felszabadítja a .-hez használt összes erőforrást Component.

(Öröklődés forrása Component)
Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által Component használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása Component)
Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által DbCommandBuilder használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása DbCommandBuilder)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetDeleteCommand()

Lekéri az adatbázis törléséhez szükséges automatikusan létrehozott SqlCommand objektumot.

GetDeleteCommand(Boolean)

Lekéri az adatbázis törléséhez szükséges automatikusan létrehozott SqlCommand objektumot.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetInsertCommand()

Lekéri az adatbázis beszúrásához szükséges automatikusan létrehozott SqlCommand objektumot.

GetInsertCommand(Boolean)

Lekéri az adatbázis beszúrásához szükséges automatikusan létrehozott SqlCommand objektumot.

GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetParameterName(Int32)

A megadott paraméter nevét adja vissza a következő formátumban @p#: . Egyéni parancsszerkesztő létrehozásakor használható.

(Öröklődés forrása DbCommandBuilder)
GetParameterName(String)

A teljes paraméternevet adja vissza a részleges paraméternév alapján.

(Öröklődés forrása DbCommandBuilder)
GetParameterPlaceholder(Int32)

A paraméter helyőrzőjének értékét adja vissza a társított SQL-utasításban.

(Öröklődés forrása DbCommandBuilder)
GetSchemaTable(DbCommand)

A sématábláját adja vissza.DbCommandBuilder

(Öröklődés forrása DbCommandBuilder)
GetService(Type)

Olyan objektumot ad vissza, amely az általa vagy annak által ComponentContainernyújtott szolgáltatást jelöli.

(Öröklődés forrása Component)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetUpdateCommand()

Lekéri az adatbázis frissítéséhez szükséges automatikusan létrehozott SqlCommand objektumot.

GetUpdateCommand(Boolean)

Lekéri az adatbázis frissítéséhez szükséges automatikusan létrehozott SqlCommand objektumot.

InitializeCommand(DbCommand)

Alaphelyzetbe állítja a CommandTimeout, Transaction, CommandTypeés UpdateRowSource tulajdonságokat a DbCommand.

(Öröklődés forrása DbCommandBuilder)
InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
QuoteIdentifier(String)

Ha a katalógus helyes esetében nem kvótált azonosítót ad vissza, az azonosító helyes idézett formáját adja vissza. Ez magában foglalja az azonosítóban lévő beágyazott idézőjelek helyes menekülését.

RefreshSchema()

Törli a parancsszerkesztőhöz társított parancsokat.

RefreshSchema()

Törli az ezzel DbCommandBuildera paranccsal társított parancsokat.

(Öröklődés forrása DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Hozzáad egy eseménykezelőt az RowUpdating eseményhez.

(Öröklődés forrása DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Regisztrálja az DbCommandBuilder esemény kezeléséhez RowUpdating egy DbDataAdapter.

(Öröklődés forrása DbCommandBuilder)
ToString()

String A ( ha van) nevet tartalmazó értéket Componentad vissza. Ezt a módszert nem szabad felülírni.

(Öröklődés forrása Component)
UnquoteIdentifier(String)

Idézett azonosító esetén az azonosító helyes, nem kvótált formáját adja vissza. Ez magában foglalja az azonosítóban lévő beágyazott idézőjelek helyes feloldását.

esemény

Name Description
Disposed

Akkor fordul elő, ha az összetevőt a metódus hívása megsemmisíti Dispose() .

(Öröklődés forrása Component)

A következőre érvényes:

Lásd még