小弟做毕设中,最后一步了,要把单机版的变成C/S,恳请各位高手救救小弟阿!!
1 多用户同时访问时候数据的备份导入怎么解决?
  有个方法把数据库设成single user的,但是我不明白,如果几个人都在使用,叫谁断开?
2 数据的缓存问题,怎么比较好的实现?
3 如果有个表,同时有人在编辑,有人再查看,会出现什么问题,该怎么解决?
4 如果有个表,两个人都在编辑,怎样才能保证数据不丢失?或者有什么办法可以避免这种请框产生?
5 视图?真的很有用吗?在什么地方可以体现?
6 用户怎么能知道,他和服务器数据库的连接已经断开了? 
7 用户登录的问题,用户在登陆时候首先需要查找注册信息表,但是这个时候需要连接到数据库,这个连接数据库的用户最好是什么类型的?
8 我的比设的用户类型有三种,学生、教师、管理员,现在已经实现使用菜单来控制他们的权限,
但是他们登陆数据库的帐号是一致的,需不需要建立三个不同的用户?

解决方案 »

  1.   

    3.只要编辑的用户没有提交,查看的用户看的就是原来的数据,这个没什么冲突的。
    4.在表里建一个State字段,用来存放状态,如果编辑的时候就把State改为1,结束编辑时再改为0,其他用户要编辑的时候先查看一下State字段,如果是1,则提示该用户无法编辑。
    5.视图就是一段SQL语句,在多表查询的时候很方便的,直接调用视图比你每次写SQL语句方便多了,但速度有一定影响。
    6.通常客户端运行时与数据库是一直保持连接的,以ADO为例,可以判断ADOConnection的Active属性。
      

  2.   

    开启事务就行  Adocoonection.begintrans
      

  3.   

    sql server 自身都有很多机制解决你上面提到的部分问题的。帮你顶
      

  4.   

    好象想的有些太罗索1 多用户同时访问时候数据的备份导入怎么解决?
      有个方法把数据库设成single user的,但是我不明白,如果几个人都在使用,叫谁断开?
    备份不用把客户端kill掉,直接调用sql server的存储过程或者命令就行了,导入需要切断其他客户端的连接。这个让他们人工解决算了2 数据的缓存问题,怎么比较好的实现?
    没说清楚,ado本身有缓存功能的,不用自己来特别控制3 如果有个表,同时有人在编辑,有人再查看,会出现什么问题,该怎么解决?
    这个你得看看并发方面的知识,例如dirty read之类的,以及乐观,悲观锁定方面,通常用事务解决就行了
    BeginTransaction 这类的东西4 如果有个表,两个人都在编辑,怎样才能保证数据不丢失?或者有什么办法可以避免这种请框产生?
    同上个问题5 视图?真的很有用吗?在什么地方可以体现?
    有时候可以不用view,在做一些复杂报表的时候比较用得多6 用户怎么能知道,他和服务器数据库的连接已经断开了? 
    ADODB.Connection有个State属性 7 用户登录的问题,用户在登陆时候首先需要查找注册信息表,但是这个时候需要连接到数据库,这个连接数据库的用户最好是什么类型的?
    直接连接你的数据库中的相应表(如:tblUser之类)就行了,没必要另搞。8 我的比设的用户类型有三种,学生、教师、管理员,现在已经实现使用菜单来控制他们的权限,
    但是他们登陆数据库的帐号是一致的,需不需要建立三个不同的用户?
    可以参考windows的用户管理来实现。需要建立三个不同的用户
      

  5.   

    楼主学一些SQL,然后就N简单了,是吗?找本书以尽快的速度看一下,保你没有问题