SqlDataAdapter.DeleteCommand Eigenschaft
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.
Dient zum Abrufen oder Festlegen einer Transact-SQL -Anweisung oder gespeicherten Prozedur zum Löschen von Datensätzen aus dem Dataset.
public:
property System::Data::SqlClient::SqlCommand ^ DeleteCommand { System::Data::SqlClient::SqlCommand ^ get(); void set(System::Data::SqlClient::SqlCommand ^ value); };
[System.Data.DataSysDescription("DbDataAdapter_DeleteCommand")]
public System.Data.SqlClient.SqlCommand DeleteCommand { get; set; }
public System.Data.SqlClient.SqlCommand DeleteCommand { get; set; }
[<System.Data.DataSysDescription("DbDataAdapter_DeleteCommand")>]
member this.DeleteCommand : System.Data.SqlClient.SqlCommand with get, set
member this.DeleteCommand : System.Data.SqlClient.SqlCommand with get, set
Public Property DeleteCommand As SqlCommand
Eigenschaftswert
A SqlCommand used during Update(DataSet) to delete records in the database that correspond to deleted rows in the DataSet.
- Attribute
Beispiele
Im folgenden Beispiel werden die SqlDataAdapter Eigenschaften , InsertCommand, , UpdateCommandund die Eigenschaften erstellt und DeleteCommand festgelegtSelectCommand. Es wird davon ausgegangen, dass Sie bereits ein SqlConnection Objekt erstellt haben.
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;
}
Public Function CreateCustomerAdapter( _
ByVal connection As SqlConnection) As SqlDataAdapter
Dim adapter As SqlDataAdapter = New SqlDataAdapter()
' Create the SelectCommand.
Dim command As SqlCommand = 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")
Dim parameter As SqlParameter = 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.
command.Parameters.Add( _
"@CustomerID", SqlDbType.NChar, 5, "CustomerID")
parameter.SourceVersion = DataRowVersion.Original
adapter.DeleteCommand = command
Return adapter
End Function
Hinweise
Wenn Updatediese Eigenschaft nicht festgelegt ist und Primärschlüsselinformationen in der DataSetDatei vorhanden sind, kann dies DeleteCommand automatisch generiert werden, wenn Sie die SelectCommand Eigenschaft festlegen und die SqlCommandBuilder. Anschließend werden alle zusätzlichen Befehle, die Sie nicht festlegen, von dem SqlCommandBuildergeneriert. Diese Generierungslogik erfordert, dass wichtige Spalteninformationen in der DataSet. Weitere Informationen finden Sie unter Generieren von Befehlen mit CommandBuilder-Objekten.
Wenn DeleteCommand einem zuvor erstellten SqlCommandElement zugewiesen wird, wird dies SqlCommand nicht geklont. Der DeleteCommand Verwaltet einen Verweis auf das zuvor erstellte SqlCommand Objekt.
Für jede Spalte, die Sie an die Datenquelle Updateweitergeben, sollte ein Parameter dem InsertCommand, UpdateCommand, oder DeleteCommand. 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 aus der bestimmten Spalte in der aktuell verarbeiteten Zeile stammt.