如何在多个选择中编写删除查询?

时间:2015-08-05 05:26:49

标签: c# sql asp.net gridview sqldatasource

我的web项目中有一个gridview,我将它与SqlDataSource连接。 select命令包含3表中的字段,我为gridview创建了commandField,以便用户可以删除他们的Purchase Item。 这是我的C#选择代码:

SqlDataSource1.SelectCommand = 
    "SELECT Production.Name, Production.Price ,PurchaseItem.Quantity,
        Production.Info ,Purchase.OrderDate     
    FROM Production 
    INNER JOIN PurchaseItem on (Production.ID = PurchaseItem.ProductID) 
    INNER JOIN Purchase on(Purchase.ID = PurchaseItem.PurchaseID) 
    WHERE Purchase.UserID = '" + Convert.ToInt64(da.getuserid(Session["Mysys"].ToString()).FirstOrDefault()) + "'";
GridView1.DataSourceID = SqlDataSource1.ID;
GridView1.DataBind();

我的问题是SqlDataSource的DeleteCommand。 可以这样做吗?

1 个答案:

答案 0 :(得分:2)

Production,PurchaseItem,Purchase是您想要通过在gridview右侧选择删除项目的表格吗?如果是的话。

你只需要进行像

这样的删除查询
DELETE FROM PRODUCTION WHERE ID = VALUE
DELETE FROM PURCHASEITEM WHERE ID = VALUE
DELETE FROM PURCHASE WHERE ID = VALUE

如果您想删除只运行一个查询,您可以尝试INNER JOIN:

DELETE table1, table2  FROM table1  INNER JOIN table2  
WHERE table1.id=table2.id and table1.id = 'VALUE'