String lastcph = "";
SqlConnection myConnection = new SqlConnection(EDb.CnnString);
myConnection.Open();
// 启动一个事务
SqlTransaction myTrans = myConnection.BeginTransaction();
// 为事务创建一个命令
SqlCommand myCommand = new SqlCommand();
myCommand.Connection = myConnection;
myCommand.Transaction = myTrans;
try
{
... //这里进行了一些数据库操作
...
//myTrans.Commit();这里把事务提交屏避了
}
catch (Exception Ex)
{
//myTrans.Rollback();这里把事务回滚屏避了
}
finally
{
myTrans.Dispose();
myConnection.Close();
myConnection.Dispose();
//清除事务,并清除数据链接
}那在上面的操作中,“这里进行了一些数据库操作” 这里的操作会如何执行
谢谢麻烦分析一下
谢谢
解决方案 »
- 一个数据排序问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 求一个sql语句.
- 一道笔试题,各位能帮帮忙吗?(分少,不好意思)
- 再求一SQL语句,关于记录更新 统计
- 制作一个触发器应该放到SQLSERVER的哪里?
- 不重装的前提下,如何修改Server和DB的collation?求助各位大虾
- 为什么在两个SQL server数据库之间用DTS导出\导入一个表时,字段描述丢失?
- 用ODBC API连接数据库, 能实现连接池吗?
- 关于权限的控制
- 菜鸟问题系列:数据库逻辑设计问题----为什么没人理我?
- 怎么优化这个sql语句,使性能提升?
- SQL SERVER 2005 怎么加换行符
这样如果链接断开而事务没提交的话,会自动回滚
-----------------------
但我这里后面已经关掉了链接了啊
谢谢
Call the Commit method of the SqlTransaction object to complete the transaction, or call the Rollback method to abort the transaction. If the connection is closed or disposed before either the Commit or Rollback methods have been executed, the transaction is rolled back.http://msdn.microsoft.com/zh-cn/netframework/2k2hy99x(en-us,VS.85).aspx
lz所进行的事务的语句获取的相关锁的级别和性质了,原来的事务没有提交就会一直占用资源执行的,比如你update一条明确的记录,这时根据你的隔离级别不同,这条记录有可能能被访问,有可能不能被访问。