【发布时间】:2014-03-17 22:42:48
【问题描述】:
cmd1.CommandText = "Delete from tblindividualproduct where ProductID = @p1";
cmd1.CommandText = "UPDATE tblproductinformation AS pInfo JOIN tblindividualproduct AS iProduct ON iProduct.Code = pInfo.Code SET pInfo.Quantity = pInfo.Quantity - 1 WHERE iProduct.ProductID = @p1";
cmd1.Connection = conn;
cmd1.Parameters.AddWithValue("@p1", "");
for (int i = 0; i < ids.Length; i++)
{
string val = ids[i];
cmd1.Parameters[0].Value = val;
cmd1.ExecuteNonQuery();
}
我已经尝试过这段代码,但我似乎无法让它工作。更新查询是唯一有效的。我想删除一个表上的行并更新另一个表的数量。我该怎么做?
【问题讨论】:
-
您是否收到错误消息?如果是这样,请将其包含在您的问题中
-
您设置 CommandText 一次,然后再次设置它,这将替换第一个值。如果您希望 CommandText 包含 BOTH 语句,那么您必须分配一个包含 BOTH 语句的字符串。对于 MySQL,我不确定,但是使用 SqlClient,您可以使用分号分隔多个语句,所以这将是我尝试的第一件事。
-
@wwarren:没有错误,它只是不起作用。
-
@jmcilhinney:我已经尝试过这种方法,但也不起作用。只有一个查询被触发。
-
你试过在中间加分号吗?