2009-04-28 64 views
2

如何使用ASP.Net中的相同刪除語句一次從兩個表中刪除?從多個表中刪除ASP.NET

+0

哪個數據庫? – 2009-04-28 06:37:56

+0

這是一個MySQL數據庫。我確實嘗試了代碼,但我沒有任何運氣。我對這一切都很陌生。謝謝 – xtrabits 2009-04-28 11:50:21

回答

0

如果您的數據庫是MsSql,您可以在一個SqlCommand中組合多個刪除語句。

試試這個:

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(); 
} 

這將刪除一個傳球都Table 1和表2中的所有記錄。

1

我不知道你的意思,但如果你想使用另一種表的數據表中刪除,這可以使用下面的代碼片段(SQL服務器)來完成:

DELETE x 
FROM TableX x INNER JOIN TableY y 
    ON x.SomeID = y.SomeID 
WHERE ... 

如果您要在一個命令執行兩條DELETE語句,你可以要麼只是將它們連接起來用分號分隔它們:

DELETE TableX WHERE SomeID = ...; DELETE TableY WHERE SomeID = ... 

您還可以使用存儲過程:

CREATE PROCEDURE DeleteTwoTables 
    @ParamX int, 
    @ParamY int 
AS 
    DELETE TableX WHERE SomeID = @ParamX 
    DELETE TableY WHERE SomeID = @ParamY 
3

正好連接刪除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