asp.net mvc同时删除2个表的信息
public int deleteByKey(String key)
{
int flag = 0;
string str ="";
deleteimg delimg = new deleteimg();
try
{
key = key.Replace(",", "','");
StringBuilder sql = new StringBuilder();//删除书的信息
sql.Append(" delete from BS_BookInfo where ");
sql.Append(" ID in ('").Append(key).Append("') ");
flag = DbHelperSQL.ExecuteSql(sql.ToString());
StringBuilder sqlst = new StringBuilder();//删除书的库存的信息
sqlst.Append(" delete from BS_StockInfo where ");
sqlst.Append(" BOOK_ID in ('").Append(key).Append("') ");
flag = DbHelperSQL.ExecuteSql(sql.ToString());
}
catch (Exception e)
{
throw e;
}
return flag;
}
一时想不明白,这像这样怎么同时删除2个表的信息 ASP.NET?MVC? delete sql
[解决办法]
开启事务 > 删从表 > 删主表 > Commit
(如果出错Rollback)
[解决办法]
执行了两个 DbHelperSQL.ExecuteSql();
sql 分别为
sqlst.Append(" delete from BS_StockInfo where ");
sql.Append(" ID in ('").Append(key).Append("') ");
sql.Append(" delete from BS_BookInfo where ");
sqlst.Append(" BOOK_ID in ('").Append(key).Append("') ");
[解决办法]
可以看成
DbHelperSQL.ExecuteSql("delete from BS_StockInfo where ID in ('").Append(key).Append("') ");
DbHelperSQL.ExecuteSql("delete from BS_BookInfo where BOOK_ID in ('").Append(key).Append("') ");
[解决办法]
一是开启 事物,先删从表,再删主表。
另一种是通过数据库来设置。