我想实现这样的功能:
  就是我在操作数据库里的某一表时,同时将该表锁定,就是说这个表只能我来操作,别人再来更新删除数据时,是不行的。只有等在我没有在对该表操作时,另外一个人才能对其删除更新。
  其实就是同时只能允许一人对表进行更新删除的操作。
  求高手们帮忙解答下先~~~~
   
  先谢过~~~

解决方案 »

  1.   

    ELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE;
      

  2.   

    SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE;
      

  3.   

    数据库中用事务就可以实现了。begin tran
      

  4.   

    select * from table for update
      

  5.   

    我都想知道同样的问题啊~~SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE;应该放在哪里呢?? 这个是我事务的代码,但运行成功,却没有实现我想要的功能~~
     SqlCommand cmd = cn.CreateCommand();
                 SqlTransaction sqlTransaction = cn.BeginTransaction(System.Data.IsolationLevel.Serializable); //   开启事务 
                 cmd.Connection = cn;   
                 cmd.Transaction   =   sqlTransaction; //   将事务应用于Command     
        
                  try   
                 {   
                     //   利用sqlcommand进行数据操作 
                     cmd.CommandText = "SELECT name,age FROM stu  WITH (xlock)";
                   
                     cmd.ExecuteNonQuery();               
                   sqlTransaction.Commit(); //   成功提交 
                                    btnup.Enabled = true;
                   MessageBox.Show("锁定成功!");
                   }   
                  catch(Exception   ex)   
                {                sqlTransaction.Rollback();    //   出错回滚  
                    btnup.Enabled = false;//继续不可提交;
                    MessageBox.Show("出错了,大哥!!");        }