以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]独占变编辑问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115871)

--  作者:blsu33
--  发布时间:2018/3/15 20:28:00
--  [求助]独占变编辑问题
老师,
  独占编辑,字典登记表名行号+用户名,
如果是多账套(每个公司一个数据库),这块是否变为(账套名表名行号+用户名)呢?应该怎么设置

--  作者:有点甜
--  发布时间:2018/3/15 20:45:00
--  

1、记录的信息,能够区别不同的套帐、行、人、表,即可。需要多少信息就记录多少信息;

 

2、传递信息的时候,要把所有值传输过去记录起来。


--  作者:blsu33
--  发布时间:2018/3/15 20:54:00
--  
SEVER 服务器上有三套帐  对应三个数据库 想要用服务器端控制好这三个账套 数据源用一个 用户端 同时打开三个账套 录入数据  客户端 希望服务器端只打开一个程序,怎么来回切换 相应的怎么设计呢
--  作者:有点甜
--  发布时间:2018/3/15 22:29:00
--  
不需要额外设计吧?就是按照原先那样处理,只要记录和传递了【套帐、行、人、表】信息,各自是不影响的。
--  作者:blsu33
--  发布时间:2018/3/15 22:39:00
--  
套帐、行、人、表】  这个账套是变化 怎么会不用呢
例如 A账登录  B账登录 合成字符串登录到对应数据库   A账 张三 表E 修改 行1   B账 张三 表E 修改 行1  服务器端是同一个 几乎同时 会收到 两个命令 唯一的 就是 账套 不一样  不用切换?

--  作者:有点甜
--  发布时间:2018/3/15 22:49:00
--  

1、客户端打开的时候,选择套帐,把值记录起来;

 

2、给服务器端发送数据的时候,把套帐信息、人信息、表信息、行信息,一起发送过去;

 

3、服务器端得到信息以后,可以判断出唯一,不需要什么切换啊。


--  作者:blsu33
--  发布时间:2018/3/15 22:57:00
--  
老师 

3、服务器端得到信息以后,可以判断出唯一,不需要什么切换啊。


这块怎么判断那一账套的数据库的表呢 


例如 

、在服务器端项目的全局代码中,加入如下代码:

Public tbrk As new Dictionary(of String,String)

2、在服务端项目的OpenQQ服务端的ReceivedMessage事件加上代码:

Dim msg As String = e.Message
If
msg.StartsWith("?#") AndAlso msg.EndsWith("#?") Then \'收到请求编辑信号
   
Dim Key As String = msg.SubString(2,msg.Length - 4)
    If tbrk.Containskey(Key) = False Then
\'
如果无人编辑此行
        tbrk.Add(Key,e.UserName)
\'
登记申请者为此行的编辑者
        e.ReturnValue = "OK"
\'
通知申请者可以编辑
    ElseIf tbrk(Key) = e.UserName Then
\'
如果申请者就是之前登记的编辑者
        e.ReturnValue = "OK"
\'
通知申请者可以编辑
    Else
\'
如果之前登记的编辑者为其他人
        e.ReturnValue = tbrk(Key) &
"
正在编辑此行!" \'告知申请者是谁在编辑此行
   
End If
ElseIf
msg.StartsWith("!#") AndAlso msg.EndsWith("#!") Then \'收到结束编辑信号
    Dim Key As String = msg.SubString(2,msg.Length - 4)
    If tbrk.Containskey(KeyThen
       
tbrk.Remove(Key) \'从集合中移除此行的编辑登记
    End
If

End
If


[此贴子已经被作者于2018/3/15 22:58:24编辑过]

--  作者:有点甜
--  发布时间:2018/3/15 23:12:00
--  

你客户给服务器发送信息把套帐名称发过去啊;

 

你服务器端接收信息,把套帐名称取出来啊;

 

代码适当修改即可啊。


--  作者:blsu33
--  发布时间:2018/3/16 10:31:00
--  
o  这种 方法 服务器端 是不是就 只有 系统编号 用户登录信息 独占编辑  需要和 客户端进行 交互了 既然 客户端已经全部加载了 操作已经在客户端 代码进行了
--  作者:有点甜
--  发布时间:2018/3/16 10:34:00
--  
以下是引用blsu33在2018/3/16 10:31:00的发言:
o  这种 方法 服务器端 是不是就 只有 系统编号 用户登录信息 独占编辑  需要和 客户端进行 交互了 既然 客户端已经全部加载了 操作已经在客户端 代码进行了

 

没看懂你什么意思。如果需要集中控制的逻辑都应该在服务器端实现,因为客户端无法知道另外一些客户端的情况,无法判断,只能功过服务器端得到信息后,再执行对应代码。