例如:用户:a,b
读取student表id   name
1     张三
2     里斯
3     王五
4     赵六
........a,b两个用户要从student表交替读出数据,当a读出表中的一条记录时,不能在b上显示同一条记录。在VB中如何写代码?
请各位高手帮忙!!!

解决方案 »

  1.   

    student表格加个字段 行被读取时 定义为锁定 退出查询时释放查询前检查是否锁定
      

  2.   

    应该用 a、b 的用户名/ID/IP 等作为标志的值,这样才能区分某记录属于谁。而且你还需要避免a、b同时来同一条记录打标志的多用户冲突。新增的标志字段命名为 useby,假定用户名 a 不可能在同时有两个登录实例。·先打标志再读取,避免多用户冲突
    UPDATE student set useby = 'a'
    where id = (select min(id) from student where useby = '')SELECT TOP 1 * FROM student ORDER BY id DESC·退出时批量解除标志
    UPDATE student set useby = ''
      

  3.   

    我说的意思就是:
    我写了VB+SQL的执行程序,主要作用是查询和修改sQL数据库,放在本地和局域网内都能运行,但是总是不同的机子上查处同一条记录!!有没有什么 方法让这种现象不在发生,请各位高手帮忙!!
    例子:
    假如 本地读取了‘张三’ 这条记录,局域网内其它电脑就不能读取‘张三’这条记录!!
      

  4.   

    修正一下,前面忘了加条件了。·先打标志再读取,避免多用户冲突(就是解决读取同一条的问题)
    -- 把第一条没打标记的记录打上我的标记
    UPDATE student set useby = 'a'
    where id = (select min(id) from student where useby = '')-- 读取最后打上标记的一条(就是上面那一条)
    SELECT TOP 1 * FROM student WHERE usedby = 'a' ORDER BY id DESC
    ·退出时批量解除标志 
    UPDATE student set useby = '' WHERE usedby = 'a'