SqlDataAdapter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 Update
Delete
). Je nach Änderungstyp wird die Insert
Befehlsvorlage , Update
oder 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, UpdateCommand
DeleteCommand
oder 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 |
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 |
OnRowUpdating(RowUpdatingEventArgs) |
Löst das |
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. |