可以尝试到一个新的技术社区回答www.nlld.net

解决方案 »

  1.   

    我是楼主,但在JDBC中,查询到数据之后数据库连接就关闭了呀!
      

  2.   

    也可以考虑加个字段 
    flag
    0 : 未锁
    1 :加锁
    使用前先判断是否为0,是,允许操作
    否,不允许操作
      

  3.   

    1.MS Sqlserver数据库:对于Sqlserver,只要用事务就可以完成以上功能,如果没有记错的话,SQLSERVER一但开始事务就是使用表封锁了。
      
      2.Oracle数据库。很遗憾,Oracle中仅用事务仍然可能会出现脏读现象。需要人工加锁。
      其DML锁有如下三种封锁方式: 
      (1)、共享封锁方式(SHARE) 
      (2)、独占封锁方式(EXCLUSIVE)   (注:lock table 表名 in exclusive mode;)
      (3)、共享更新封锁(SHARE UPDATE)(注:只要select ... from 表  for update即可进行封锁)
      这里又有一个问题。那就是你选用那个锁,答案应该是独占封锁方式。
      

  4.   

    应该是共享封锁
    LOCK TABLE <表名>[,<表名>]...
      
      IN SHARE MODE [NOWAIT]
      

  5.   

    magus163(菜鸟怎么赚分?) ( ) 信誉:100    Blog   加为好友  2007-5-25 8:25:48  得分: 0  
     
     
       
    查询是不用锁的,涉及到修改才用锁  
     
    ==================================================================================可是我是在查询出来的时候加锁呢?还是在修改提交的时候加锁?
    因为是WEB应用,所以JDBC在查询到数据之后就会关闭连接,而修改的时候(或者删除数据)又会打开一个连接,提交SQL语句.