当只是使用一次事务时,只用简单的事务就可以了
示例代码:
SqlServerDataBase obj = new SqlServerDataBase(); SqlConnection conn = obj.DBconn(); conn.Open(); SqlTransaction myTrans; myTrans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
try { obj.Insert("insert into StuInfo (StuNumber,Name,Sex,Specialty) values('" + stuNumber + "','" + name + "','" + sex + "','" + specialty + "')", null); obj.Insert("insert into StuSkill(StuNumber,Skill) values('" + stuNumber + "','" + skill + "')", null); myTrans.Commit(); Response.Write("两条数据均插入到数据库中!"); } catch (Exception ex) { try { myTrans.Rollback(); } catch (SqlException sqlEx) { if (obj.DBconn() != null) { Response.Write(sqlEx.GetType()+"数据库打开失败"); Response.Redirect("submit.htm"); } } } finally { obj.DBconn().Close(); }
但是设计多个事务处理,比方使用for循环时,处理不当就会产生“SqlTransaction 已完成;它再也无法使用”的问题,主要就是因为SqlTransaction 使用了Commit()后就是不能在使用了,必须重新BeginTransaction()一个。
网络转载
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18