ASP对记录操作都要加锁?你用的是数据库的什么高级功能?INSERT, DELETE这种简单的操作根本没必要

解决方案 »

  1.   

    sql server, oracle 等可以
      

  2.   

    TO Meteorlet(www.dictworld.com) :
    我以前是搞ASP的,多使用RECORDSET 操作数据库,他的每步都要严格的控制访问模式,如读出记录默认是以只读静态游标(分页则为只读动态游标),修改则是读写静态游标等等等等,现在使用PHP感觉是不停的操作函数,对内部运作不了解。另外还有就是PHP怎样解决类似ASP的COM+扩展功能?
      

  3.   

    访问模式跟数据库并发操作没有关系,任何一种访问模式都不会造成数据库的并发错误。
    所谓的LockType和Cursor是微软ADO抽象出来的Recordset类的属性,Mysql没有Recordset也
    就不用关心。如果你操作记录用INSERT,UPDATE,DELETE SQL语句,直接用ADODB.Connection的
    Execute方法,根本不用关心LockType和Cursor。
      

  4.   

    mysql有lock。不过只在多服务器环境下有效。mysql只装在一台服务器上的时候不需要关心lock。
      

  5.   

    lock uses when there are more than one users.
      

  6.   

    锁是数据库提供的,和php无关....................
    mysql_query("lock tables [yourtable] [write|read]");
    $query = mysql_query("...............");
    mysql_query("unlick tables");
    .............
      

  7.   

    -----------
    | Database|
    -----------
        |
        |
    -------------------
    | ASP,recordset   |
    -------------------
        |
        | ASP 在Recordset上控制对数据库的锁定
        |
    -----------
    | user    |
    ----------------------
    | Database|
    -----------
        |
        | PHP 本身不提供,由数据库本身提供锁定
        |
    ---------
    | PHP   |
    ---------
        |
        |
    -----------
    | user    |
    -----------
      

  8.   

    是不是使用commit这个问题可以解决呀,就是在执行很多操作的时候,假如有一条没有成功,那么所有的都不成功,否则都成功.不过遇到这个问题就麻烦了,2个人都对同一条记录进行操作,就应该用到锁的概念了吧(个人认为).把表锁起来,可能不现实吧,其他人同时使用不就麻烦了.
      

  9.   

    锁是数据库的,关PHP什么事情?