Comment supprimer de deux tables à la fois en utilisant la même instruction delete dans ASP.Net?Supprimer de plusieurs tables ASP.NET
Répondre
Si votre base de données est MsSql, vous pouvez combiner plusieurs instructions delete dans un seul SqlCommand.
Essayez ceci:
string deleteQuery = "DELETE FROM Table1; DELETE FROM Table2;";
using (SqlConnection connection = new SqlConnection(connectionstring))
using (SqlCommand deleteCommand = new SqlCommand(deleteQuery, connection))
{
connection.Open();
deleteCommand.ExecuteNonQuery();
}
Ceci effacera tous les enregistrements de Table1 et table2 en un seul passage.
Je vois que vous avez taggué la question avec vb.net. J'espère que vous pourrez réussir à traduire mon exemple de C# ... –
Je ne suis pas sûr de ce que vous voulez dire, mais si vous voulez supprimer d'une table en utilisant un autre des données de tables, cela peut être fait en utilisant le code suivant (SQL Server):
DELETE x
FROM TableX x INNER JOIN TableY y
ON x.SomeID = y.SomeID
WHERE ...
Si vous veulent exécuter deux instructions DELETE dans une commande, vous pouvez soit juste concaténer les en les séparant par un point-virgule:
DELETE TableX WHERE SomeID = ...; DELETE TableY WHERE SomeID = ...
vous pouvez également utiliser une procédure stockée:
CREATE PROCEDURE DeleteTwoTables
@ParamX int,
@ParamY int
AS
DELETE TableX WHERE SomeID = @ParamX
DELETE TableY WHERE SomeID = @ParamY
juste concaténer supprimer des scripts SQL:
Using connection As New SqlConnection(connectionString)
Dim command As New
SqlCommand("DELETE FROM Table1 WHERE [email protected]; DELETE FROM Table2 WHERE [email protected];", connection)
command.Parameters.Add("@ID1", 1);
command.Parameters.Add("@ID2", 2);
command.Connection.Open()
command.ExecuteNonQuery()
End Using
Quelle base de données? –
C'est une base de données MySQL. J'ai essayé le code mais je n'ai pas eu de chance. Je suis très nouveau à tout cela. Merci – xtrabits