Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

SqlDataAdapter.UpdateCommand-Eigenschaft

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

Namespace:  System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)
public SqlCommand UpdateCommand { get; set; }

Eigenschaftswert

Typ: System.Data.SqlClient.SqlCommand
Ein SqlCommand, mit dem während der Ausführung von Update in der Datenbank Datensätze aktualisiert werden, die geänderten Zeilen im DataSet entsprechen.

Wenn diese Eigenschaft nicht festgelegt wurde und im DataSet Primärschlüsselinformationen vorhanden sind, kann während der Ausführung von Update der UpdateCommand automatisch generiert werden, wenn Sie die SelectCommand-Eigenschaft festlegen und SqlCommandBuilder verwenden. Anschließend werden alle weiteren nicht festgelegten Befehle vom SqlCommandBuilder generiert. Für diese Generierungslogik müssen im DataSet Schlüsselspalteninformationen vorhanden sein. Weitere Informationen finden Sie unter Generieren von Befehlen mit 'CommandBuilder'-Objekten (ADO.NET).

Wenn UpdateCommand einem zuvor erstellten SqlCommand zugeordnet wird, wird SqlCommand nicht geklont. Das UpdateCommand verwaltet einen Verweis auf das zuvor erstellte SqlCommand-Objekt.

Hinweis Hinweis

Wenn durch das Ausführen dieses Befehls Zeilen zurückgegeben werden, können die aktualisierten Zeilen mit dem DataSet zusammengeführt werden. Dies ist davon abhängig, wie Sie die UpdatedRowSource-Eigenschaft des SqlCommand-Objekts festlegen.

Für jede in Update an die Datenquelle weitergegebene Spalte sollte ein Parameter zum InsertCommand zum UpdateCommand bzw. zum DeleteCommand hinzugefügt werden.

Die SourceColumn-Eigenschaft des Parameters sollte auf den Namen der Spalte festgelegt werden. Dies gibt an, dass der Wert des Parameters nicht manuell festgelegt wird, sondern dass er aus der entsprechenden Spalte in der derzeit verarbeiteten Zeile entnommen wird.

Im folgenden Beispiel werden ein SqlDataAdapter erstellt sowie die Eigenschaften SelectCommand, InsertCommand, UpdateCommand und DeleteCommand festgelegt. Es wird davon ausgegangen, dass bereits ein SqlConnection-Objekt erstellt wurde.


public static SqlDataAdapter CreateCustomerAdapter(
    SqlConnection connection)
{
    SqlDataAdapter adapter = new SqlDataAdapter();

    // Create the SelectCommand.
    SqlCommand command = new SqlCommand("SELECT * FROM Customers " +
        "WHERE Country = @Country AND City = @City", connection);

    // Add the parameters for the SelectCommand.
    command.Parameters.Add("@Country", SqlDbType.NVarChar, 15);
    command.Parameters.Add("@City", SqlDbType.NVarChar, 15);

    adapter.SelectCommand = command;

    // Create the InsertCommand.
    command = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)", connection);

    // Add the parameters for the InsertCommand.
    command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
    command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");

    adapter.InsertCommand = command;

    // Create the UpdateCommand.
    command = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID", connection);

    // Add the parameters for the UpdateCommand.
    command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
    command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");
    SqlParameter parameter = command.Parameters.Add(
        "@oldCustomerID", SqlDbType.NChar, 5, "CustomerID");
    parameter.SourceVersion = DataRowVersion.Original;

    adapter.UpdateCommand = command;

    // Create the DeleteCommand.
    command = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);

    // Add the parameters for the DeleteCommand.
    parameter = command.Parameters.Add(
        "@CustomerID", SqlDbType.NChar, 5, "CustomerID");
    parameter.SourceVersion = DataRowVersion.Original;

    adapter.DeleteCommand = command;

    return adapter;
}


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ