如何将事务执行情况写入数据库中??
如下代码中,在try中,每一名sql语句执行成功都会在日记表中插入一行记录,如果有任何一句sql语句失败的话,则所有语句都会回滚,问题是插入的日志也会被回滚掉,怎样才能使日志不被回滚呢?
SqlConnection conn = new SqlConnection(connectionstring)
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
try
{
SqlHelper.ExecSql(tran, sql1);
WriteNote("sql1执行成功");
SqlHelper.ExecSql(tran, sql2);
WriteNote("sql2执行成功");
SqlHelper.ExecSql(tran, sql3);
WriteNote("sql3执行成功");
SqlHelper.ExecSql(tran, sql4);
WriteNote("sql4执行成功");
tran.Commit();
}
catch
{
tran.Rollback();
}
function void WriteNote(string txt)
{
string sql = "insert into Note (txt) values (" + txt + ")";
......
}