SQL Server 删除关联数据库表,可以用事务实现关联表删除。
表1 和 表2 的关联字段是 Id。
#region 删除
/// <summary>
/// 删除
/// </summary>
/// <param name="Id">主键</param>
/// <returns></returns>
[HttpPost]
public JsonResult DeleteData(string Id)
{
int result = 0;
string msg = string.Empty;
var state = string.Empty;
IDictionary<string, SqlParameter[]> hsTable = new Dictionary<string, SqlParameter[]>();
//删除表1
string sqlUsage = @"delete Table1 WHERE ID = @ID";
SqlParameter[] parameters = {
new SqlParameter("ID", Id)
};
hsTable.Add(sqlUsage, parameters);
//删除表2
string sqlEuE = @"delete Table2 WHERE UID = @UID";
SqlParameter[] parameters2 = {
new SqlParameter("UID", Id)
};
hsTable.Add(sqlEuE, parameters2);
result = sqlHelper.ExecTran(hsTable); //添加到事务
if (result > 0) { msg = "删除成功"; state = "1"; } else { msg = "删除失败"; state = "0"; }
return Json(new { result = result, msg = msg, state = state, id = Id }, JsonRequestBehavior.AllowGet);
}
#endregion