有谁知道,我怎么能回滚已经运行的存储prod里面的try ... catch in .net c#?
示例:
如果我需要运行2个存储过程,则创建2个函数来运行每个存储的prod,并且这些函数将在try ... catch内部调用,第1个存储的prod运行成功,但是第2个存储的prod有错误和超时。在这种情况下,我可以在我的.net c#?
中回滚第一个存储的prod答案 0 :(得分:1)
看看
private static void DemoFunc()
{
SqlConnection conn = new SqlConnection("");//conection string here
SqlTransaction transaction;
SqlCommand cmd;
conn.Open();
transaction = conn.BeginTransaction();
try
{
cmd = new SqlCommand("MySP1", conn, transaction);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
cmd = new SqlCommand("MySP2", conn, transaction);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
transaction.Commit();
}
catch (SqlException sqlError)
{
transaction.Rollback();
}
conn.Close();
}
希望得到这个帮助。