程序为C/S架构的,对一个表进行数据库操作,我将环境事务的隔离级别设为ReadUncommitted,为什么另外打开一个程序无法读取该表的数据呢

解决方案 »

  1.   

    未授权读取(ReadUncommitted):允许脏读取,但不允许更新丢失。如果─个事务已经开始写数据,则另外─个数据则不允许同时进行写操作,但允许其它事务读此行数据。
      

  2.   

    这我知道啊,可是就是没有效果,一直都是锁定状态,不能脏读        public void ExecuteNonQuery(string strSQL)
            {
                    using (SqlConnection conn = new SqlConnection())
                    {
                        conn.ConnectionString = connString;
                        using (SqlCommand cmd = conn.CreateCommand())
                        {                        cmd.CommandText = strSQL;
                            cmd.CommandType = CommandType.Text;
                            conn.Open();//打开数据库
                            SqlTransaction   transaction;
                            transaction =conn.BeginTransaction(System.Data.IsolationLevel .ReadUncommitted);
                            cmd.Transaction = transaction;
                            try
                            {
                              MessageBox.Show("1");
                              
                               cmd.ExecuteNonQuery();
                              
                               MessageBox.Show("2");
                                transaction.Commit();
                            }
                            catch
                            {
                                transaction.Rollback();                        }
                        }
                    }
                
            }这是我写的代码。