我的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。 可以这样做吗?
答案 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'