Teilen über


SqlDataAdapter Klasse

Definition

Stellt einen Satz von Datenbefehlen und eine Datenbankverbindung dar, die verwendet werden, um das DataSet aufzufüllen und eine SQL Server-Datenbank zu aktualisieren. Diese Klasse kann nicht vererbt werden.

public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, 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.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, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Vererbung
Implementiert

Beispiele

Im folgenden Beispiel werden datensätze SqlCommandSqlDataAdapterSqlConnection aus einer Datenbank ausgewählt und mit den ausgewählten Zeilen aufgefülltDataSet. Das gefüllte DataSet wird dann zurückgegeben. Um dies zu erreichen, wird der Methode eine initialisierte DataSet, eine Verbindungszeichenfolge und eine Abfragezeichenfolge übergeben, bei der es sich um eine Transact-SQL SELECT-Anweisung handelt.

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;
    }
}
Public Function SelectRows( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New SqlConnection(connectionString)
        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand( _
            queryString, connection)
        adapter.Fill(dataSet)
        Return dataSet
    End Using
End Function

Hinweise

Dient SqlDataAdapterals Brücke zwischen einem DataSet und SQL Server zum Abrufen und Speichern von Daten. Stellt SqlDataAdapter diese Brücke bereit, indem Filldie Daten in zugeordnet DataSet werden, damit sie den Daten in der Datenquelle entsprechen, und Update, wodurch die Daten in der Datenquelle so geändert werden, dass sie mit den Daten in der DataSetübereinstimmen, wobei die entsprechenden Transact-SQL-Anweisungen für die Datenquelle verwendet werden. Die Aktualisierung erfolgt zeilenweise. Für jede eingefügte, geänderte und gelöschte Zeile bestimmt die Update Methode den Typ der Änderung, die für sie ausgeführt wurde (Insert, oder UpdateDelete). Je nach Änderungstyp wird die InsertBefehlsvorlage , Updateoder Delete ausgeführt, um die geänderte Zeile an die Datenquelle zu verteilen. Wenn die SqlDataAdapter einen DataSetfüllt, werden die erforderlichen Tabellen und Spalten für die zurückgegebenen Daten erstellt, sofern sie noch nicht vorhanden sind. Primärschlüsselinformationen sind jedoch nicht im implizit erstellten Schema enthalten, es sei denn, die MissingSchemaAction Eigenschaft ist auf AddWithKeyfestgelegt. Sie können auch das SqlDataAdapter Schema von DataSeterstellen, einschließlich Primärschlüsselinformationen, bevor Sie es mit Daten füllen FillSchema. Weitere Informationen finden Sie unter Hinzufügen vorhandener Einschränkungen zu einem DataSet.

SqlDataAdapterwird in Verbindung mit und SqlCommand verwendet, um die Leistung beim Herstellen einer Verbindung mit SqlConnection einer SQL Server-Datenbank zu erhöhen.

Hinweis

Wenn Sie zum Bearbeiten oder Löschen von Daten mit einem DataAdapter gespeicherte SQL Server-Prozeduren verwenden, müssen Sie sicherstellen, dass in der Definition der gespeicherten Prozedur nicht SET NOCOUNT ON verwendet wird. Anderenfalls ist die zurückgegebene Anzahl der betroffenen Zeilen gleich Null (0), was der DataAdapter als Parallelitätskonflikt interpretiert. In diesem Fall wird eine DBConcurrencyException ausgelöst.

Die SqlDataAdapter enthält auch die SelectCommandEigenschaften , InsertCommand, DeleteCommand, UpdateCommandund TableMappings , um das Laden und Aktualisieren von Daten zu erleichtern.

Wenn ein instance von SqlDataAdapter erstellt wird, werden die Lese-/Schreibeigenschaften auf Anfangswerte festgelegt. Eine Liste dieser Werte finden Sie im SqlDataAdapter Konstruktor.

Die InsertCommandVorlagen , DeleteCommandund UpdateCommand sind generische Vorlagen, die automatisch mit einzelnen Werten aus jeder geänderten Zeile über den Parametermechanismus gefüllt werden.

Für jede Spalte, die Sie an die Datenquelle weitergebenUpdate, sollte ein Parameter hinzugefügt werden, UpdateCommandDeleteCommandoder InsertCommand. Die SourceColumn -Eigenschaft des DbParameter -Objekts sollte auf den Namen der Spalte festgelegt werden. Diese Einstellung gibt an, dass der Wert des Parameters nicht manuell festgelegt wird, sondern aus der bestimmten Spalte in der aktuell verarbeiteten Zeile übernommen wird.

Hinweis

Ein InvalidOperationException tritt auf, wenn die Fill Methode aufgerufen wird und die Tabelle einen benutzerdefinierten Typ enthält, der auf dem Clientcomputer nicht verfügbar ist. Weitere Informationen finden Sie unter Benutzerdefinierte CLR-Typen.

Konstruktoren

SqlDataAdapter()

Initialisiert eine neue Instanz der SqlDataAdapter-Klasse.

SqlDataAdapter(SqlCommand)

Initialisiert eine neue Instanz der SqlDataAdapter-Klasse mit dem angegebenen SqlCommand als SelectCommand-Eigenschaft.

SqlDataAdapter(String, SqlConnection)

Initialisiert eine neue Instanz der SqlDataAdapter-Klasse mit einem SelectCommand und einem SqlConnection-Objekt.

SqlDataAdapter(String, String)

Initialisiert eine neue Instanz der SqlDataAdapter-Klasse mit einem SelectCommand und einer Verbindungszeichenfolge.

Felder

DefaultSourceTableName

Der vom DataAdapter-Objekt verwendete Standardname für Tabellenzuordnungen.

(Geerbt von DbDataAdapter)

Eigenschaften

AcceptChangesDuringFill

Ruft einen Wert ab, der angibt, ob AcceptChanges() für eine DataRow aufgerufen wird, nachdem diese bei einem der Fill-Vorgänge der DataTable hinzugefügt wurde, oder legt diesen fest.

(Geerbt von DataAdapter)
AcceptChangesDuringUpdate

Ruft ab oder legt fest, ob AcceptChanges() während eines Update(DataSet) aufgerufen wird.

(Geerbt von DataAdapter)
CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
ContinueUpdateOnError

Ruft einen Wert ab, der angibt, ob beim Auftreten eines Fehlers während der Aktualisierung von Zeilen eine Ausnahme ausgelöst werden soll, oder legt diesen fest.

(Geerbt von DataAdapter)
DeleteCommand

Ruft eine Transact-SQL-Anweisung oder gespeicherte Prozedur ab, um Datensätze aus dem Dataset zu löschen, oder legt diese fest.

DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
FillCommandBehavior

Ruft das Verhalten des Befehls für das Füllen des Datenadapters ab oder dieses legt.

(Geerbt von DbDataAdapter)
FillLoadOption

Ruft die LoadOption ab, die bestimmt, wie der Adapter die DataTable vom DbDataReader füllt, oder legt diese fest.

(Geerbt von DataAdapter)
InsertCommand

Ruft eine Transact-SQL-Anweisung oder gespeicherte Prozedur ab, um neue Datensätze in die Datenquelle einzufügen, oder legt diese fest.

MissingMappingAction

Bestimmt die Aktion, die ausgeführt werden soll, wenn für eingehende Daten keine entsprechende Tabelle oder Spalte vorhanden ist.

(Geerbt von DataAdapter)
MissingSchemaAction

Bestimmt die Aktion, die ausgeführt werden soll, wenn das vorhandene DataSet-Schema eingehenden Daten nicht entspricht.

(Geerbt von DataAdapter)
ReturnProviderSpecificTypes

Ruft ab oder legt fest, ob die Fill-Methode anbieterspezifische Werte oder allgemeine CLS-kompatible Werte zurückgeben soll.

(Geerbt von DataAdapter)
SelectCommand

Ruft eine Transact-SQL-Anweisung oder gespeicherte Prozedur ab, um Datensätze in der Datenquelle auszuwählen, oder legt diese fest.

Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
TableMappings

Ruft eine Auflistung ab, die die primäre Zuordnung zwischen einer Quelltabelle und einer DataTablebereitstellt.

(Geerbt von DataAdapter)
UpdateBatchSize

Ruft die Anzahl der Zeilen ab, die in jedem Round-Trip zum Server verarbeitet werden, oder legt die Anzahl fest.

UpdateBatchSize

Ruft einen Wert ab oder legt einen Wert fest, mit dem die Batchverarbeitung aktiviert bzw. deaktiviert wird, und gibt die Anzahl der Befehle an, die pro Batch ausgeführt werden können.

(Geerbt von DbDataAdapter)
UpdateCommand

Ruft eine Transact-SQL-Anweisung oder gespeicherte Prozedur ab, um Datensätze in der Datenquelle zu aktualisieren, oder legt diese fest.

Methoden

AddToBatch(IDbCommand)

Fügt im aktuellen Batch einen IDbCommand hinzu.

(Geerbt von DbDataAdapter)
ClearBatch()

Entfernt alle IDbCommand-Objekte aus dem Batch.

(Geerbt von DbDataAdapter)
CloneInternals()
Veraltet.
Veraltet.
Veraltet.
Veraltet.

Erstellt eine Kopie dieser Instanz von DataAdapter.

(Geerbt von DataAdapter)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
CreateRowUpdatedEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

Initialisiert eine neue Instanz der RowUpdatedEventArgs-Klasse.

(Geerbt von DbDataAdapter)
CreateRowUpdatingEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

Initialisiert eine neue Instanz der RowUpdatingEventArgs-Klasse.

(Geerbt von DbDataAdapter)
CreateTableMappings()

Erstellt einen neuen DataTableMappingCollection.

(Geerbt von DataAdapter)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von DbDataAdapter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von DbDataAdapter)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
ExecuteBatch()

Führt den aktuellen Batch aus.

(Geerbt von DbDataAdapter)
Fill(DataSet)

Fügt Zeilen in DataSet hinzu oder aktualisiert diese.

(Geerbt von DbDataAdapter)
Fill(DataSet, Int32, Int32, String)

Aktualisiert Zeilen in einem angegebenen Bereich des DataSet oder fügt Zeilen hinzu, um Übereinstimmung mit den Zeilen in der Datenquelle herzustellen, die den Namen des DataSet und den Namen der DataTable verwenden.

(Geerbt von DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

Aktualisiert Zeilen in einem angegebenen Bereich im DataSet oder fügt Zeilen hinzu, um Übereinstimmung mit den Zeilen in der Datenquelle herzustellen, die den Namen des DataSet, den Namen der Quelltabelle, die Befehlszeichenfolge und das Befehlsverhalten verwenden.

(Geerbt von DbDataAdapter)
Fill(DataSet, String)

Aktualisiert Zeilen im DataSet oder fügt Zeilen hinzu, um Übereinstimmung mit den Zeilen in der Datenquelle herzustellen, die den Namen des DataSet und den Namen der DataTable verwenden.

(Geerbt von DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32)

Aktualisiert Zeilen in einem angegebenen Bereich im DataSet oder fügt Zeilen hinzu, um anhand der Namen DataSet, DataTable und IDataReader Übereinstimmung mit den Zeilen in der Datenquelle zu erzielen.

(Geerbt von DbDataAdapter)
Fill(DataTable)

Aktualisiert Zeilen in einem angegebenen Bereich des DataSet oder fügt Zeilen hinzu, um Übereinstimmung mit den Zeilen in der Datenquelle herzustellen, die den DataTable-Namen verwendet.

(Geerbt von DbDataAdapter)
Fill(DataTable, IDataReader)

Aktualisiert Zeilen in einer DataTable oder fügt Zeilen hinzu, um anhand der angegebenen Namen DataTable und IDataReader Übereinstimmung mit den Zeilen in der Datenquelle zu erzielen.

(Geerbt von DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)

Aktualisiert Zeilen in einer DataTable oder fügt Zeilen hinzu, um Übereinstimmung mit den Zeilen in der Datenquelle herzustellen, wobei die angegebenen Werte für DataTable, IDbCommand und CommandBehavior verwendet werden.

(Geerbt von DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)

Aktualisiert Zeilen in einem angegebenen Bereich in der Auflistung der DataTable-Objekte oder fügt Zeilen hinzu, um Übereinstimmung mit den Zeilen in der Datenquelle herzustellen.

(Geerbt von DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

Aktualisiert Zeilen in einem angegebenen Bereich des DataSet oder fügt Zeilen hinzu, um Übereinstimmung mit den Zeilen in der Datenquelle herzustellen, die den Namen des DataSet und den Namen der DataTable verwenden.

(Geerbt von DbDataAdapter)
Fill(Int32, Int32, DataTable[])

Fügt Zeilen in einem oder mehreren Objekten hinzu, DataTable um mit denen in der Datenquelle abzugleichen, beginnend am angegebenen Datensatz und beim Abrufen der angegebenen maximalen Anzahl von Datensätzen.

(Geerbt von DbDataAdapter)
FillSchema(DataSet, SchemaType)

Fügt eine DataTable namens „Tabelle“ zum angegebenen DataSet hinzu und konfiguriert das Schema auf der Grundlage des angegebenen SchemaType so, dass es mit dem Schema in der Datenquelle übereinstimmt.

(Geerbt von DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)

Fügt dem angegebenen DataTable eine DataSet hinzu und konfiguriert das Schema auf der Grundlage des angegebenen SchemaTypeso, dass es mit dem Schema in der Datenquelle übereinstimmt.

(Geerbt von DbDataAdapter)
FillSchema(DataSet, SchemaType, String)

Fügt dem angegebenen DataSet eine DataTable hinzu und konfiguriert das Schema auf der Grundlage des angegebenen SchemaType und der angegebenen DataTable so, dass es mit dem Schema in der Datenquelle übereinstimmt.

(Geerbt von DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader)

Fügt dem angegebenen DataTable eine DataSet hinzu.

(Geerbt von DataAdapter)
FillSchema(DataTable, SchemaType)

Konfiguriert das Schema der angegebenen DataTable auf der Grundlage des angegebenen SchemaType.

(Geerbt von DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader)

Fügt dem angegebenen DataTable eine DataSet hinzu.

(Geerbt von DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)

Konfiguriert das Schema der angegebenen DataTable auf der Grundlage des angegebenen SchemaType, der angegebenen Befehlszeichenfolge und der angegebenen CommandBehavior-Werte.

(Geerbt von DbDataAdapter)
GetBatchedParameter(Int32, Int32)

Gibt einen IDataParameter von einem der Befehle im aktuellen Batch zurück.

(Geerbt von DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception)

Gibt Informationen über einen einzelnen Updateversuch innerhalb eines größeren Updates im Batchmodus zurück.

(Geerbt von DbDataAdapter)
GetFillParameters()

Ruft die Parameter ab, die vom Benutzer beim Ausführen einer SQL-SELECT-Anweisung festgelegt wurden.

(Geerbt von DbDataAdapter)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HasTableMappings()

Gibt an, ob eine DataTableMappingCollection erstellt wurde.

(Geerbt von DataAdapter)
InitializeBatching()

Initialisiert die Batchverarbeitung für den DbDataAdapter.

(Geerbt von DbDataAdapter)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
OnFillError(FillErrorEventArgs)

Löst das FillError-Ereignis aus.

(Geerbt von DbDataAdapter)
OnRowUpdated(RowUpdatedEventArgs)

Löst das RowUpdated-Ereignis eines .NET-Datenanbieters aus.

(Geerbt von DbDataAdapter)
OnRowUpdating(RowUpdatingEventArgs)

Löst das RowUpdating-Ereignis eines .NET-Datenanbieters aus.

(Geerbt von DbDataAdapter)
ResetFillLoadOption()

Setzt die FillLoadOption auf ihren Standardzustand zurück und erzwingt, dass Fill(DataSet)AcceptChangesDuringFill berücksichtigt.

(Geerbt von DataAdapter)
ShouldSerializeAcceptChangesDuringFill()

Bestimmt, ob die AcceptChangesDuringFill-Eigenschaft beibehalten werden soll.

(Geerbt von DataAdapter)
ShouldSerializeFillLoadOption()

Bestimmt, ob die FillLoadOption-Eigenschaft beibehalten werden soll.

(Geerbt von DataAdapter)
ShouldSerializeTableMappings()

Bestimmt, ob ein oder mehrere DataTableMapping-Objekte vorhanden sind und ob diese beibehalten werden sollen.

(Geerbt von DataAdapter)
TerminateBatching()

Beendet die Batchverarbeitung für den DbDataAdapter.

(Geerbt von DbDataAdapter)
ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden.

(Geerbt von Component)
Update(DataRow[])

Aktualisiert die Werte in der Datenbank, indem für jede eingefügte, aktualisierte oder gelöschte Zeile im angegebenen Array in DataSet die INSERT-Anweisung, die UPDATE-Anweisung bzw. die DELETE-Anweisung ausgeführt werden.

(Geerbt von DbDataAdapter)
Update(DataRow[], DataTableMapping)

Aktualisiert die Werte in der Datenbank, indem für jede eingefügte, aktualisierte oder gelöschte Zeile im angegebenen Array von DataRow-Objekten die INSERT-Anweisung, die UPDATE-Anweisung bzw. die DELETE-Anweisung ausgeführt werden.

(Geerbt von DbDataAdapter)
Update(DataSet)

Aktualisiert die Werte in der Datenbank, indem für jede eingefügte, aktualisierte oder gelöschte Zeile im angegebenen DataSet die INSERT-Anweisung, die UPDATE-Anweisung bzw. die DELETE-Anweisung ausgeführt werden.

(Geerbt von DbDataAdapter)
Update(DataSet, String)

Aktualisiert die Werte in der Datenbank, indem es die jeweiligen Anweisungen „Einfügen“, „Aktualisieren“ oder „Löschen“ für jede eingefügte, aktualisierte oder gelöschte Zeile in dem DataSet mit dem angegebenen DataTable-Namen ausführt.

(Geerbt von DbDataAdapter)
Update(DataTable)

Aktualisiert die Werte in der Datenbank, indem für jede eingefügte, aktualisierte oder gelöschte Zeile im angegebenen DataTable die INSERT-Anweisung, die UPDATE-Anweisung bzw. die DELETE-Anweisung ausgeführt werden.

(Geerbt von DbDataAdapter)

Ereignisse

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)
FillError

Wird zurückgegeben, wenn während eines Füllvorgangs ein Fehler auftritt.

(Geerbt von DbDataAdapter)
RowUpdated

Tritt während der Ausführung von Update(DataSet) ein, nachdem ein Befehl für die Datenquelle ausgeführt wurde. Es wird eine Aktualisierung versucht, also wird das Ereignis ausgelöst.

RowUpdating

Tritt während der Ausführung von Update(DataSet) ein, bevor ein Befehl für die Datenquelle ausgeführt wird. Es wird eine Aktualisierung versucht, also wird das Ereignis ausgelöst.

Explizite Schnittstellenimplementierungen

ICloneable.Clone()

Eine Beschreibung dieses Elements finden Sie unter Clone().

IDataAdapter.TableMappings

Ruft eine Auflistung ab, die angibt, wie eine Quelltabelle einer Datasettabelle zugeordnet wird.

(Geerbt von DataAdapter)
IDbDataAdapter.DeleteCommand

Eine Beschreibung dieses Elements finden Sie unter DeleteCommand.

IDbDataAdapter.InsertCommand

Eine Beschreibung dieses Elements finden Sie unter InsertCommand.

IDbDataAdapter.SelectCommand

Eine Beschreibung dieses Elements finden Sie unter SelectCommand.

IDbDataAdapter.UpdateCommand

Eine Beschreibung dieses Elements finden Sie unter UpdateCommand.

Gilt für:

Weitere Informationen