如题.下面上代码 //此以下是我写的测试代码,不规范,见谅.
SqlConnection connection = new SqlConnection("连接");
connection.Open();
SqlTransaction transaction = connection.BeginTransaction(System.Data.IsolationLevel.Serializable);
SqlCommand command = connection.CreateCommand();
command.Transaction = transaction;
command.ExecuteNonQuery("UPDATE Test SET col2 = 1 WHERE col1 = 1");
DBHelper.GetDataTable("SELECT * FROM Test");//DBHelper是封装好的 ,内部代码保证没问题,新开一个连接获取
后面代码就不贴了..现在问题是. 明明已经设置了IsolationLevel.Serializable(可读,不可修改)
但是在用新开连接获取的时候 ,还是因为锁的问题执行不了.而且我测试过IsolationLevel的所有值,
都是不能让我在新开连接的时候获取. 这是为什么?
SqlConnection connection = new SqlConnection("连接");
connection.Open();
SqlTransaction transaction = connection.BeginTransaction(System.Data.IsolationLevel.Serializable);
SqlCommand command = connection.CreateCommand();
command.Transaction = transaction;
command.ExecuteNonQuery("UPDATE Test SET col2 = 1 WHERE col1 = 1");
DBHelper.GetDataTable("SELECT * FROM Test");//DBHelper是封装好的 ,内部代码保证没问题,新开一个连接获取
后面代码就不贴了..现在问题是. 明明已经设置了IsolationLevel.Serializable(可读,不可修改)
但是在用新开连接获取的时候 ,还是因为锁的问题执行不了.而且我测试过IsolationLevel的所有值,
都是不能让我在新开连接的时候获取. 这是为什么?
但是在事物commit之前都不能查询啊.就好像.不管我设成什么等级..net都会自动把它改掉一样.
不过我跟踪程序的话.IsolationLevel值又完全是对的.效果缺没用.这是我百思不得其解的地方啊.