当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 我下的是3张盘的,安装时选了全部组件,是不是三张盘有些不能安装?我刻了光盘了,难道白刻了。请装过的兄弟来会诊。 ......
    摘要: 银行里有一把锁,锁上有x个特征,m个人,每人手里有一张钥匙卡,卡上有y个特征,至少n个人同时使用钥匙卡才能打开(即每人的钥匙卡上的特征的并包括锁上的每一个特征),并且任意n个人都能打开。问锁上至少有多少个特征,每个人的钥匙卡上有多少个特征? 从键盘输入m,n运行得到x,y 请教算法,不求代码 ......


关于sqlserver的问题,不知道就是不知道

在sqlserver中,如果两个人同时对某表中的一条纪录进行操作,一个人在修改完后没有提交,而另一个人也在修改,为什么sqlserver不能锁住此纪录。能不能告诉我sqlserver到底怎么锁住这样的纪录?

NO.1   作者: johnsonrao

只能用标识字段了,如果一人对记录写操作则不允许另外的进行写操作。

NO.2   作者: cwhelucky

这是SQL的特点,不能锁定,要不你就人为操作吧,在每一记录后加一标志位,修改时将其置1,改完置0,修改前先看标志字段吧

NO.3   作者: netlib

sqlserver   采用的是排队方式,  
  也就是两个用户都在提交时,  
  只会保存最后一个用户的提交数据。

NO.4   作者: plainsong

你有没有使用事务?数据库的锁定是以事务为单位的,事务结束时自动解除锁定。如果你没有使用事务,那么每次操作都是一个事务,每一次操作后锁定都会被解除。  
  Select   *   from   MyTeble   For   Update  
  如果两个连接都用这条语句打开,后打者就会等待直到先打开者的事务结束才会返回。

NO.5   作者: yangxd

同意楼上的,sql的确最后保存的是最后一次的修改,不过从编程来看,我们可以自已来加锁,每个想要修改的用户先申请锁,申请到了的可以修改数据,没有申请到的只有浏览的权利,无法修改数据,即所谓人工加锁的方式,很简单也很实用,并且安全。

NO.6   作者: erickleung

var   Level   :   integer;  
   
  ...  
   
  begin  
    Level   :=   ADOconnection1.BeginTrans;  
    try  
            //     Whatever   ...   updating,   deleting,   or   inserting  
      ADOConnection1.CommitTrans;  
    except  
      on   E:   Exception   do   ADOConnection1.RollbackTrans;  
    end;

NO.7   作者: vmao

要不能同时修改的话你用pardox好了!  
  完全能满足你的要求!  
 

NO.8   作者: plainsong

不需要人工加锁,只要你把相关操作作为一个事务,对于需要修改的查询都加上"For   Update"就可以了.


    摘要: 以下是我编写jsp访问access数据库sql语句的片段,在执行到该文档时出现了: internal servlet error: javax.servlet.servletexception: [microsoft][odbc microsoft access driver] inse rt into ???????? 的错误,是insert语句的语法问题吗?还是其他部分的错?敬请指教,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE