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 eine Reihe von Datenbefehlen und eine Datenbankverbindung dar, die zum Ausfüllen und DataSet Aktualisieren einer SQL Server-Datenbank verwendet wird. 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 sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
type SqlDataAdapter = class
inherit DbDataAdapter
interface IDbDataAdapter
interface IDataAdapter
interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
- Vererbung
- Implementiert
Beispiele
Im folgenden Beispiel werden die SqlCommandSqlDataAdapterDatensätze aus einer Datenbank verwendet und SqlConnection mit DataSet den ausgewählten Zeilen aufgefüllt. Die Ausgefüllte DataSet wird dann zurückgegeben. Hierzu wird die Methode an eine initialisierte DataSet, eine Verbindungszeichenfolge und eine Abfragezeichenfolge übergeben, die eine Transact-SQL SELECT-Anweisung ist.
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
Der SqlDataAdapter, dient als Brücke zwischen einem DataSet und SQL Server zum Abrufen und Speichern von Daten. Dies SqlDataAdapter bietet diese Brücke durch Zuordnung Fill, die die Daten in der DataSet Datenquelle ändert, um mit den Daten in der Datenquelle übereinzustimmen, und Update, wodurch die Daten in der Datenquelle entsprechend den Daten in der DataSetDatenquelle geändert werden, wobei die entsprechenden Transact-SQL-Anweisungen für die Datenquelle verwendet werden. Die Aktualisierung erfolgt nach Zeile. Für jede eingefügte, geänderte und gelöschte Zeile bestimmt die Update Methode den Typ der darin ausgeführten Änderung (Insert, Updateoder Delete). Je nach Änderungstyp wird die Insert, Updateoder Delete Befehlsvorlage ausgeführt, um die geänderte Zeile an die Datenquelle zu verteilen. Wenn die SqlDataAdapter Füllung eingibt DataSet, 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. Möglicherweise verfügen Sie auch über das SqlDataAdapter Erstellen des Schemas der DataSetPrimärschlüsselinformationen, bevor Sie es mit Daten ausfüllen.FillSchema Weitere Informationen finden Sie unter Hinzufügen vorhandener Einschränkungen zu einem DataSet.
SqlDataAdapter wird in Verbindung mit SqlConnection und SqlCommand zur Erhöhung der Leistung beim Herstellen einer Verbindung mit einer SQL Server-Datenbank verwendet.
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.
Dies SqlDataAdapter umfasst auch die SelectCommandEigenschaften , InsertCommand, DeleteCommandUpdateCommandTableMappings um das Laden und Aktualisieren von Daten zu erleichtern.
Wenn eine Instanz erstellt SqlDataAdapter wird, werden die Lese-/Schreibeigenschaften auf anfangswerte festgelegt. Eine Liste dieser Werte finden Sie im SqlDataAdapter Konstruktor.
Die InsertCommand, 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 Updateweitergeben, sollte ein Parameter dem InsertCommand, UpdateCommand, oder DeleteCommand. 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 stammt.
Hinweis
Es InvalidOperationException tritt ein, 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
| Name | Beschreibung |
|---|---|
| SqlDataAdapter() |
Initialisiert eine neue Instanz der SqlDataAdapter-Klasse. |
| SqlDataAdapter(SqlCommand) |
Initialisiert eine neue Instanz der SqlDataAdapter Klasse mit der angegebenen SqlCommand Eigenschaft SelectCommand . |
| 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 einer SelectCommand und einer Verbindungszeichenfolge. |
Felder
| Name | Beschreibung |
|---|---|
| DefaultSourceTableName |
Der Standardname, der DataAdapter vom Objekt für Tabellenzuordnungen verwendet wird. (Geerbt von DbDataAdapter) |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AcceptChangesDuringFill |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob AcceptChanges() für einen DataRow Aufruf nach dem DataTable Hinzufügen während eines der Ausfüllvorgänge aufgerufen wird. (Geerbt von DataAdapter) |
| AcceptChangesDuringUpdate |
Ruft ab oder legt fest, ob AcceptChanges() während einer Update(DataSet). (Geerbt von DataAdapter) |
| CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
| Container |
Ruft das, das IContainer die Component. (Geerbt von Component) |
| ContinueUpdateOnError |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine Ausnahme generiert werden soll, wenn während einer Zeilenaktualisierung ein Fehler auftritt. (Geerbt von DataAdapter) |
| DeleteCommand |
Dient zum Abrufen oder Festlegen einer Transact-SQL -Anweisung oder gespeicherten Prozedur zum Löschen von Datensätzen aus dem Dataset. |
| DesignMode |
Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet. (Geerbt von Component) |
| Events |
Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind. (Geerbt von Component) |
| FillCommandBehavior |
Ruft das Verhalten des Befehls ab, der zum Ausfüllen des Datenadapters verwendet wird, oder legt dieses fest. (Geerbt von DbDataAdapter) |
| FillLoadOption |
Dient zum Abrufen oder Festlegen der LoadOption , die bestimmt, wie der Adapter die DataTable aus dem DbDataReader. (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 eingehende Daten keine übereinstimmende Tabelle oder Spalte aufweisen. (Geerbt von DataAdapter) |
| MissingSchemaAction |
Bestimmt die auszuführende Aktion, wenn das vorhandene DataSet Schema nicht mit eingehenden Daten übereinstimmt. (Geerbt von DataAdapter) |
| ReturnProviderSpecificTypes |
Ruft ab oder legt fest, ob die |
| SelectCommand |
Ruft eine Transact-SQL-Anweisung oder gespeicherte Prozedur ab, die zum Auswählen von Datensätzen in der Datenquelle verwendet wird, oder legt diese fest. |
| Site |
Dient zum ISite Abrufen oder Festlegen des Werts des Component. (Geerbt von Component) |
| TableMappings |
Ruft eine Auflistung ab, die die primäre Zuordnung zwischen einer Quelltabelle und einer DataTable. (Geerbt von DataAdapter) |
| UpdateBatchSize |
Ruft die Anzahl der Zeilen ab, die in jedem Roundtrip zum Server verarbeitet werden, oder legt diese fest. |
| UpdateCommand |
Dient zum Abrufen oder Festlegen einer Transact-SQL-Anweisung oder einer gespeicherten Prozedur, die zum Aktualisieren von Datensätzen in der Datenquelle verwendet wird. |
Methoden
| Name | Beschreibung |
|---|---|
| AddToBatch(IDbCommand) |
Fügt dem aktuellen Batch einen hinzu IDbCommand . (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, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (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 ein neues DataTableMappingCollection. (Geerbt von DataAdapter) |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Component. (Geerbt von Component) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den DbDataAdapter verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. (Geerbt von DbDataAdapter) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| ExecuteBatch() |
Führt den aktuellen Batch aus. (Geerbt von DbDataAdapter) |
| Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior) |
Fügt Zeilen in einem angegebenen Bereich in einem DataSet angegebenen Bereich hinzu oder aktualisiert sie, um die Zeilen in der Datenquelle mit den Namen und den DataSet Quelltabellennamen, Befehlszeichenfolgen und Befehlsverhalten abzugleichen. (Geerbt von DbDataAdapter) |
| Fill(DataSet, Int32, Int32, String) |
Fügt Zeilen in einem angegebenen Bereich in DataSet einem angegebenen Bereich hinzu oder aktualisiert sie, um mit den Zeilen in der Datenquelle mit den Namen und DataTable den DataSet Zeilen in der Datenquelle übereinzustimmen. (Geerbt von DbDataAdapter) |
| Fill(DataSet, String, IDataReader, Int32, Int32) |
Fügt Zeilen in einem angegebenen Bereich in einem DataSet angegebenen Bereich hinzu oder aktualisiert sie, um mit den Zeilen in der Datenquelle mit den DataSetDataTableNamen und den IDataReader betreffenden Zeilen in der Datenquelle übereinzustimmen. (Geerbt von DbDataAdapter) |
| Fill(DataSet, String) |
Fügt Zeilen in der DataSet Datenquelle hinzu oder aktualisiert sie, um mit den Zeilen in der Datenquelle mit den DataSet Und DataTable Namen übereinzustimmen. (Geerbt von DbDataAdapter) |
| Fill(DataSet) |
Fügt Zeilen in der DataSetDatei hinzu oder aktualisiert sie. (Geerbt von DbDataAdapter) |
| Fill(DataTable, IDataReader) |
Fügt Zeilen in einer DataTable Zeile hinzu, die mit den angegebenen DataTable Und IDataReader Namen in der Datenquelle übereinstimmen sollen, oder aktualisiert sie. (Geerbt von DbDataAdapter) |
| Fill(DataTable, IDbCommand, CommandBehavior) |
Fügt Zeilen in einer Zeile DataTable hinzu, die mit den Zeilen in der Datenquelle mit dem angegebenen und dem Angegebenen DataTableübereinstimmen sollen, IDbCommand oder CommandBehavioraktualisiert sie. (Geerbt von DbDataAdapter) |
| Fill(DataTable) |
Fügt Zeilen in einem angegebenen Bereich in einem DataSet angegebenen Bereich hinzu oder aktualisiert sie, um die Zeilen in der Datenquelle mit dem DataTable Namen abzugleichen. (Geerbt von DbDataAdapter) |
| Fill(DataTable[], IDataReader, Int32, Int32) |
Fügt Zeilen in einem angegebenen Bereich in der Auflistung von DataTable Objekten hinzu oder aktualisiert sie, um mit denen in der Datenquelle übereinzustimmen. (Geerbt von DataAdapter) |
| Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior) |
Fügt Zeilen in einem angegebenen Bereich in DataSet einem angegebenen Bereich hinzu oder aktualisiert sie, um mit den Zeilen in der Datenquelle mit den Namen und DataTable den DataSet Zeilen in der Datenquelle übereinzustimmen. (Geerbt von DbDataAdapter) |
| Fill(Int32, Int32, DataTable[]) |
Fügt Zeilen in einem oder DataTable mehreren Objekten hinzu oder aktualisiert sie, um mit denen in der Datenquelle ab dem angegebenen Datensatz übereinzustimmen und bis zur angegebenen maximalen Anzahl von Datensätzen abzurufen. (Geerbt von DbDataAdapter) |
| FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior) |
Fügt dem angegebenen Objekt einen DataTable Wert hinzu und konfiguriert das Schema so, dass es dem in der Datenquelle basierend auf dem angegebenen Entspricht entsprichtSchemaType.DataSet (Geerbt von DbDataAdapter) |
| FillSchema(DataSet, SchemaType, String, IDataReader) |
Fügt dem angegebenen DataSetWert einen DataTable hinzu. (Geerbt von DataAdapter) |
| FillSchema(DataSet, SchemaType, String) |
Fügt dem angegebenen DataSet Objekt einen DataTable Wert hinzu und konfiguriert das Schema so, dass es dem in der Datenquelle basierend auf dem angegebenen SchemaType und DataTable. (Geerbt von DbDataAdapter) |
| FillSchema(DataSet, SchemaType) |
Fügt der angegebenen DataSet Tabelle eine DataTable benannte Tabelle hinzu und konfiguriert das Schema so, dass es dem in der Datenquelle basierend auf dem angegebenen entsprichtSchemaType. (Geerbt von DbDataAdapter) |
| FillSchema(DataTable, SchemaType, IDataReader) |
Fügt dem angegebenen DataSetWert einen DataTable hinzu. (Geerbt von DataAdapter) |
| FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior) |
Konfiguriert das Schema des angegebenen Werts DataTable basierend auf der angegebenen SchemaTypeBefehlszeichenfolge und CommandBehavior werten. (Geerbt von DbDataAdapter) |
| FillSchema(DataTable, SchemaType) |
Konfiguriert das Schema des angegebenen Werts DataTable basierend auf dem angegebenen SchemaType. (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 zu einem einzelnen Updateversuch innerhalb einer größeren Batchaktualisierung zurück. (Geerbt von DbDataAdapter) |
| GetFillParameters() |
Ruft die vom Benutzer beim Ausführen einer SQL SELECT-Anweisung festgelegten Parameter ab. (Geerbt von DbDataAdapter) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetService(Type) |
Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird. (Geerbt von Component) |
| GetType() |
Ruft die 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 die DbDataAdapter. (Geerbt von DbDataAdapter) |
| InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der 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() |
FillLoadOption Setzt auf seinen Standardzustand zurück und bewirktFill(DataSet), dass er berücksichtigt AcceptChangesDuringFillwird. (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 mindestens ein DataTableMapping Objekt vorhanden ist und diese beibehalten werden sollen. (Geerbt von DataAdapter) |
| TerminateBatching() |
Beendet die Batchverarbeitung für die DbDataAdapter. (Geerbt von DbDataAdapter) |
| ToString() |
Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden. (Geerbt von Component) |
| Update(DataRow[], DataTableMapping) |
Aktualisiert die Werte in der Datenbank, indem die entsprechenden INSERT-, UPDATE- oder DELETE-Anweisungen für jede eingefügte, aktualisierte oder gelöschte Zeile im angegebenen Array von DataRow Objekten ausgeführt werden. (Geerbt von DbDataAdapter) |
| Update(DataRow[]) |
Aktualisiert die Werte in der Datenbank, indem die entsprechenden INSERT-, UPDATE- oder DELETE-Anweisungen für jede eingefügte, aktualisierte oder gelöschte Zeile im angegebenen Array in der DataSetangegebenen Matrix ausgeführt werden. (Geerbt von DbDataAdapter) |
| Update(DataSet, String) |
Aktualisiert die Werte in der Datenbank, indem die entsprechenden INSERT-, UPDATE- oder DELETE-Anweisungen für jede eingefügte, aktualisierte oder gelöschte Zeile im DataSet angegebenen DataTable Namen ausgeführt werden. (Geerbt von DbDataAdapter) |
| Update(DataSet) |
Aktualisiert die Werte in der Datenbank, indem die entsprechenden INSERT-, UPDATE- oder DELETE-Anweisungen für jede eingefügte, aktualisierte oder gelöschte Zeile in der angegebenen Zeile DataSetausgeführt werden. (Geerbt von DbDataAdapter) |
| Update(DataTable) |
Aktualisiert die Werte in der Datenbank, indem die entsprechenden INSERT-, UPDATE- oder DELETE-Anweisungen für jede eingefügte, aktualisierte oder gelöschte Zeile in der angegebenen Zeile DataTableausgeführt werden. (Geerbt von DbDataAdapter) |
Ereignisse
| Name | Beschreibung |
|---|---|
| Disposed |
Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird. (Geerbt von Component) |
| FillError |
Wird zurückgegeben, wenn während eines Ausfüllvorgangs ein Fehler auftritt. (Geerbt von DbDataAdapter) |
| RowUpdated |
Tritt ein, wenn Update(DataSet) ein Befehl für die Datenquelle ausgeführt wird. Der Versuch, die Aktualisierung durchzuführen, wird ausgeführt, sodass das Ereignis ausgelöst wird. |
| RowUpdating |
Tritt auf, Update(DataSet) bevor ein Befehl für die Datenquelle ausgeführt wird. Der Versuch, die Aktualisierung durchzuführen, wird ausgeführt, sodass das Ereignis ausgelöst wird. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| ICloneable.Clone() |
Eine Beschreibung dieses Mitglieds 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 Mitglieds finden Sie unter DeleteCommand. |
| IDbDataAdapter.InsertCommand |
Eine Beschreibung dieses Mitglieds finden Sie unter InsertCommand. |
| IDbDataAdapter.SelectCommand |
Eine Beschreibung dieses Mitglieds finden Sie unter SelectCommand. |
| IDbDataAdapter.UpdateCommand |
Eine Beschreibung dieses Mitglieds finden Sie unter UpdateCommand. |