1.网络版数据库:有SERVER,可以供多用户访问,有处理数据冲突的功能,数据库和客户端程序可以不在同一台机器上。
2。单机版:只可供单一用户使用,数据库和客户端程序在同一台机器上运行,不需要处理数据冲突等复杂的问题。

解决方案 »

  1.   

    谢谢两位。我最近做的一个项目(SQL Server数据库)中,一些基础信息因是层次编码,多人操作可能出现数据不一致辞造成逻辑错误。其中的计算部分也因使用了临时表而不能多人同时计算,但其它的出票等部分操作则可以多人同时。这样的程序是不是只能算单机版?怎样的程序才能算是真正的网络版?真正的网络版是不是所有操作都允许多人同时操作?对于一些层次性的信息维护,如果我在加入下一层时,其它人将其上一层记录给删除了,那我的信息就给破坏了。象这种情况是不是根本就不允许多人操作。还是有较精巧的解决办法?
      

  2.   

    to ji_hui(阿辉):呵呵,你这个问题有点不妥,其实是可以处理的。
    在SQL或ADO中都有一个锁的形式叫做LockPessimistic(ADO),在SQL中应该用隔离级别来表示。那些内容是可以在实际使用中确认一个数据的数据库状态的,也就是更新或增加时的锁类型及数据的动态反馈问题了。你可以看看ADO的动态结果集,参考一下SQL的数据隔离级别,这不应该是问题的
      

  3.   

    我遇到的情况是:先从数据库中读取一些信息,在客户的应用程序中编辑。编辑完成后再保存到数据库中。但问题是在一个客户编辑信息的同时,在多人操作的情况下,其它人可以删除信息。那些信息是用字符串编码的,如
    01 用电科
    0101 营业所
    010101 电管站
    如果我在编辑电管站的时候,别人把营业所给删除了,我的层次就断了(字符串每两位一层),我添加的电管站就不知是哪个营业所的电管站了。
    我知道SQL Server的四个隔离级别(提交读、未提交读、可重复读和顺序读),但都要求在事务中。难道我为了防止别人删除,要采用一个很长很长的事务,锁定我正在编辑的表吗?采用这样一个长事务(可能是一分钟,一个小时或更长)是不是一个好主意?