OdbcCommandBuilder Klass

Definition

Genererar automatiskt kommandon med en tabell som används för att stämma av ändringar som gjorts i en DataSet med den associerade datakällan. Det går inte att ärva den här klassen.

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

Exempel

I följande exempel används OdbcCommand, tillsammans med OdbcDataAdapter och OdbcConnection, för att välja rader från en datakälla. Exemplet skickas en initierad DataSet, en reťazec pripojenia, en frågesträng som är en SQL SELECT-instruktion och en sträng som är namnet på datakälltabellen. Exemplet skapar sedan en OdbcCommandBuilder.

public static DataSet SelectOdbcSrvRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = new OdbcDataAdapter();
        adapter.SelectCommand =
            new OdbcCommand(queryString, connection);
        OdbcCommandBuilder builder =
            new OdbcCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OdbcCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);
    }
    return dataSet;
}
Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String, ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As New OdbcCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        ' Without the OdbcCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)
    End Using

    Return dataSet
End Function

Kommentarer

Genererar OdbcDataAdapter inte automatiskt de SQL-instruktioner som krävs för att stämma av ändringar som gjorts i en DataSet associerad med datakällan. Du kan dock skapa ett OdbcCommandBuilder objekt som genererar SQL-instruktioner för uppdateringar med en tabell genom att ange SelectCommand egenskapen för OdbcDataAdapter. Sedan OdbcCommandBuilder genereras ytterligare SQL-instruktioner som du inte anger.

Relationen mellan en OdbcDataAdapter och dess motsvarande OdbcCommandBuilder är alltid en-till-en. Om du vill skapa den här korrespondensen OdbcDataAdapter anger du objektets OdbcCommandBuilder egenskap. Detta gör OdbcCommandBuilder att registrera sig som en lyssnare, vilket genererar utdata från RowUpdating händelser som påverkar DataSet.

För att generera INSERT-, UPDATE- eller DELETE-instruktioner OdbcCommandBuilder använder SelectCommand egenskapen för att hämta en obligatorisk uppsättning metadata. Om du ändrar värdet SelectCommand för när metadata har hämtats, till exempel efter den första uppdateringen, bör du anropa RefreshSchema metoden för att uppdatera metadata.

Note

Om SELECT-instruktionen SelectCommand som tilldelats egenskapen använder aliaskolumnnamn kan resulterande INSERT-, UPDATE- och DELETE-instruktioner vara felaktiga eller misslyckas. Om den underliggande ODBC-drivrutinen inte kan ange lämpligt baskolumnnamn för aliaskolumnnamnet (med hjälp av värdet SQL_DESC_BASE_COLUMN_NAME ) SQLColAttributekan aliasnamnet användas i de genererade INSERT-, UPDATE- och DELETE-uttrycken. Till exempel returnerar Microsoft ODBC-drivrutin för Oracle aliasnamnet som baskolumnnamnet. Därför skulle de genererade INSERT-, UPDATE- och DELETE-instruktionerna orsaka fel.

Använder OdbcCommandBuilderConnectionockså egenskaperna , CommandTimeoutoch som Transaction refereras av SelectCommand. Användaren bör anropa RefreshSchema om en eller flera av dessa egenskaper ändras, eller om värdet för SelectCommand själva egenskapen ändras. Annars InsertCommandbehåller egenskaperna , UpdateCommandoch DeleteCommand sina tidigare värden.

Om du anropar DisposeOdbcCommandBuilder kopplas de från , OdbcDataAdapteroch de genererade kommandona används inte längre.

Konstruktorer

Name Description
OdbcCommandBuilder()

Initierar en ny instans av OdbcCommandBuilder klassen.

OdbcCommandBuilder(OdbcDataAdapter)

Initierar en ny instans av OdbcCommandBuilder klassen med det associerade OdbcDataAdapter objektet.

Egenskaper

Name Description
CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
CatalogLocation

Hämtar eller anger CatalogLocation för en instans av DbCommandBuilder klassen.

(Ärvd från DbCommandBuilder)
CatalogSeparator

Hämtar eller anger en sträng som används som katalogavgränsare för en instans av DbCommandBuilder klassen.

(Ärvd från DbCommandBuilder)
ConflictOption

Anger vilket som ConflictOption ska användas av DbCommandBuilder.

(Ärvd från DbCommandBuilder)
Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
DataAdapter

Hämtar eller anger ett OdbcDataAdapter objekt som det här OdbcCommandBuilder objektet ska generera SQL-instruktioner för.

DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
QuotePrefix

Hämtar eller anger det inledande tecknet eller tecknen som ska användas när du arbetar med databasobjekt (till exempel tabeller eller kolumner) vars namn innehåller tecken som blanksteg eller reserverade token.

QuotePrefix

Hämtar eller anger det inledande tecknet eller tecknen som ska användas när du anger databasobjekt (till exempel tabeller eller kolumner) vars namn innehåller tecken som blanksteg eller reserverade token.

(Ärvd från DbCommandBuilder)
QuoteSuffix

Hämtar eller anger sluttecknet eller tecknen som ska användas när du arbetar med databasobjekt, (till exempel tabeller eller kolumner), vars namn innehåller tecken som blanksteg eller reserverade token.

QuoteSuffix

Hämtar eller anger sluttecknet eller tecknen som ska användas när du anger databasobjekt (till exempel tabeller eller kolumner) vars namn innehåller tecken som blanksteg eller reserverade token.

(Ärvd från DbCommandBuilder)
SchemaSeparator

Hämtar eller anger det tecken som ska användas för avgränsaren mellan schemaidentifieraren och andra identifierare.

(Ärvd från DbCommandBuilder)
SetAllValues

Anger om alla kolumnvärden i en uppdateringsinstruktor inkluderas eller bara ändras.

(Ärvd från DbCommandBuilder)
Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)

Metoder

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

Gör att providerimplementeringen DbCommandBuilder av klassen kan hantera ytterligare parameteregenskaper.

(Ärvd från DbCommandBuilder)
CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
DeriveParameters(OdbcCommand)

Hämtar parameterinformation från den lagrade proceduren som anges i OdbcCommand och fyller i Parameters samlingen av det angivna OdbcCommand objektet.

Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av DbCommandBuilder och släpper eventuellt de hanterade resurserna.

(Ärvd från DbCommandBuilder)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetDeleteCommand()

Hämtar det automatiskt genererade OdbcCommand objekt som krävs för att utföra borttagningar i datakällan.

GetDeleteCommand(Boolean)

Hämtar det automatiskt genererade OdbcCommand objekt som krävs för att utföra borttagningar i datakällan.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetInsertCommand()

Hämtar det automatiskt genererade OdbcCommand objekt som krävs för att utföra infogningar i datakällan.

GetInsertCommand(Boolean)

Hämtar det automatiskt genererade OdbcCommand objekt som krävs för att utföra infogningar i datakällan.

GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetParameterName(Int32)

Returnerar namnet på den angivna parametern i formatet @p#. Använd när du skapar en anpassad kommandobyggare.

(Ärvd från DbCommandBuilder)
GetParameterName(String)

Returnerar det fullständiga parameternamnet med det partiella parameternamnet.

(Ärvd från DbCommandBuilder)
GetParameterPlaceholder(Int32)

Returnerar platshållaren för parametern i den associerade SQL-instruktionen.

(Ärvd från DbCommandBuilder)
GetSchemaTable(DbCommand)

Returnerar schematabellen DbCommandBuilderför .

(Ärvd från DbCommandBuilder)
GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetUpdateCommand()

Hämtar det automatiskt genererade OdbcCommand objekt som krävs för att utföra uppdateringar i datakällan.

GetUpdateCommand(Boolean)

Hämtar det automatiskt genererade OdbcCommand objekt som krävs för att utföra uppdateringar i datakällan.

InitializeCommand(DbCommand)

Återställer CommandTimeoutegenskaperna , Transaction, CommandTypeoch UpdateRowSourceDbCommand.

(Ärvd från DbCommandBuilder)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
QuoteIdentifier(String, OdbcConnection)

Givet en ociterad identifierare i rätt katalogfall returnerar rätt angiven form av identifieraren. Detta inkluderar att alla inbäddade citattecken i identifieraren raderas korrekt.

QuoteIdentifier(String)

Givet en ociterad identifierare i rätt katalogfall returnerar rätt angiven form av identifieraren. Detta inkluderar att alla inbäddade citattecken i identifieraren raderas korrekt.

RefreshSchema()

Rensar de kommandon som är associerade med den här OdbcCommandBuilder.

RefreshSchema()

Rensar de kommandon som är associerade med den här DbCommandBuilder.

(Ärvd från DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Lägger till en händelsehanterare för RowUpdating händelsen.

(Ärvd från DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder Registrerar för att hantera RowUpdating händelsen för en DbDataAdapter.

(Ärvd från DbCommandBuilder)
ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

(Ärvd från Component)
UnquoteIdentifier(String, OdbcConnection)

Givet en citerad identifierare returnerar rätt ociterad form av identifieraren, inklusive korrekt avkapsling av inbäddade citattecken i identifieraren.

UnquoteIdentifier(String)

Givet en citerad identifierare returnerar rätt ociterad form av identifieraren, inklusive korrekt avkapsling av inbäddade citattecken i identifieraren.

Händelser

Name Description
Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)

Gäller för

Se även