Foxtable(狐表)用户栏目专家坐堂 → [求助]独占变编辑问题


  共有2047人关注过本帖树形打印复制链接

主题:[求助]独占变编辑问题

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]独占变编辑问题  发帖心情 Post By:2018/3/15 20:28:00 [只看该作者]

老师,
  独占编辑,字典登记表名行号+用户名,
如果是多账套(每个公司一个数据库),这块是否变为(账套名表名行号+用户名)呢?应该怎么设置

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/15 20:45:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/3/15 20:54:00 [只看该作者]

SEVER 服务器上有三套帐  对应三个数据库 想要用服务器端控制好这三个账套 数据源用一个 用户端 同时打开三个账套 录入数据  客户端 希望服务器端只打开一个程序,怎么来回切换 相应的怎么设计呢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/15 22:29:00 [只看该作者]

不需要额外设计吧?就是按照原先那样处理,只要记录和传递了【套帐、行、人、表】信息,各自是不影响的。

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/3/15 22:39:00 [只看该作者]

套帐、行、人、表】  这个账套是变化 怎么会不用呢
例如 A账登录  B账登录 合成字符串登录到对应数据库   A账 张三 表E 修改 行1   B账 张三 表E 修改 行1  服务器端是同一个 几乎同时 会收到 两个命令 唯一的 就是 账套 不一样  不用切换?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/15 22:49:00 [只看该作者]

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

 

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/15 23:12:00 [只看该作者]

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

 

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

 

代码适当修改即可啊。


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2018/3/16 10:31:00 [只看该作者]

o  这种 方法 服务器端 是不是就 只有 系统编号 用户登录信息 独占编辑  需要和 客户端进行 交互了 既然 客户端已经全部加载了 操作已经在客户端 代码进行了

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/16 10:34:00 [只看该作者]

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

 

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


 回到顶部