[转]c#中事务、批量提交、回滚的写法

C#
public void UpdateContactTableByDataSet(DataSet ds,string strTblName)
{
try
{
SqlDataAdapter myAdapter 
= new SqlDataAdapter();
SqlConnection  conn 
= new SqlConnection(strConnection);
SqlCommand myCommand 
= new SqlCommand("select * from strTblName",conn);
myAdapter.SelectCommand 
= myCommand;
SqlCommandBuilder myCommandBuilder 
= new SqlCommandBuilder(myAdapter);

conn.Open();
SqlTransaction myTrans 
= conn.BeginTransaction();
myCommand.Transaction 
= myTrans;

try
{
myAdapter.Update(ds,strTblName);
myTrans.Commit();
}
catch(Exception e)
{
try
{
myTrans.Rollback();
}
catch (SqlException ex)
{
if (myTrans.Connection != null)
{
Console.WriteLine(
" 回滚失败! 异常类型: " + ex.GetType());
}
}
}
finally
{
conn.Close();
}

}
catch(Exception ex)
{
throw ex;
}


转帖 http://www.chinaaspx.com/forum/showtopic-8398.aspx

posted @ 2010-03-24 12:23  卒子  阅读(434)  评论(0编辑  收藏  举报