Foxtable(狐表)用户栏目专家坐堂 → 保存和重新加载问题


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

主题:保存和重新加载问题

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
保存和重新加载问题  发帖心情 Post By:2010/3/12 11:34:00 [只看该作者]

我是用SQL外部数据库,在局域网内使用,所以暂时还没有搞动态加载数据。但是多用户是用时,发现一个问题,如有2台都打开项目,先1号对其中数据有修改并存盘, 后2号又对其他数据进行操作并存盘,未执行重新加载数据,是否2号数据会覆盖1号已修改并存盘的事件(因2号还是1号更新前的数据)。
我是否可以用如下代码进行数据保存(在用户切换一些表和窗口的按钮执行以下代码可行吗,先保存数据,再重新加载需要的数据)。 

For Each dt As DataTable In DataTables

    dt.Save()'保存所有数据

Next


DataTables ("表名").Load '重新加载数据


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/3/12 11:35:00 [只看该作者]

不会覆盖

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/3/12 11:50:00 [只看该作者]

      1.只要保存的不修改,哪怕以用户是以前加载的过时数据,也不会覆盖因被修改并保存的数据吗。是不是没怎么表达清楚。
假如有某表某列数据为123,用户A和B都打开了项目,两个看到的都是123,如用户A把123改成456并保存,这是数据库应是456,但是用户B还是123,如现在用户B不执行同步数据或重新加载数据,只执行保存,是否会把123重新保存到数据库中而覆盖 掉用户B一修改的456呢。狐爸的意思是说不会吗?
     

     2.保存数据我可以用一下代码吗?

For Each dt As DataTable In DataTables

    dt.Save()'保存所有数据

Next



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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/3/12 11:54:00 [只看该作者]

一下代码是保存数据和设置吗:
 

Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/3/12 11:58:00 [只看该作者]

以下是引用wqc360在2010-3-12 11:50:00的发言:
      1.只要保存的不修改,哪怕以用户是以前加载的过时数据,也不会覆盖因被修改并保存的数据吗。是不是没怎么表达清楚。
假如有某表某列数据为123,用户A和B都打开了项目,两个看到的都是123,如用户A把123改成456并保存,这是数据库应是456,但是用户B还是123,如现在用户B不执行同步数据或重新加载数据,只执行保存,是否会把123重新保存到数据库中而覆盖 掉用户B一修改的456呢。狐爸的意思是说不会吗?
     

     2.保存数据我可以用一下代码吗?

For Each dt As DataTable In DataTables

    dt.Save()'保存所有数据

Next



两人都修改了同一单元格的数据,以后保存的数据为准,我的理解是这样的。

可以这样保存。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/3/12 11:59:00 [只看该作者]

以下是引用wqc360在2010-3-12 11:54:00的发言:
一下代码是保存数据和设置吗:
 

Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()


保存设置不会起作用,保存设置只是你自己的系统起作用,其他用户的设置还是原来的。


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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/3/12 13:33:00 [只看该作者]

用户A单元格如未修改保存时(如某单元格为:123),如被用户B修改并保存了(由123改456,A、B用户都在线),这时数据库单元格为456,A用户单元格数据为123,如用户A不对单元格所在行进行修改,保存时,
1.是保存用户A的所有数据(数据库中456变123,不管是否修改或编辑),
2.还是只保存用户A有修改或编辑的的数据。
如是1,那就比较麻烦,多用户使用时,要经常进行保存,同步数据或重新加载数据,已获得最新数据,这样才不至于把别人已修改的数据有改回来。
如是2,那就太好了,只有本用户修改或编辑的数据才执行保存(还有是保存修改的单元格还是行,因不同用户对同行不同单元格进行修改,如以修改行为识别对象进行保存,又会出现第1中的冲突)A用户不管怎么保存,只要不对单元格修改,看到的虽然还是123,数据库始终是456,但在需要计算时,可以同步数据就可以了。
有点不解,请高手解释一下狐表的保存过程,谢谢。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/3/12 13:37:00 [只看该作者]

以更改的数据为准。也就是说会变成456
不会造成冲突,保存时只保存修改过的数据。

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/3/12 14:06:00 [只看该作者]

这样就好,但是我的项目使用者反映明明改过的或者是这样输入的,怎么今天又不对了,我也觉得奇怪,因为我设置了一些条件列表项目,数据最后是不对的,他们按道理是没法输入的,但录入者答复当是录入是对的(我有条件列表项目),但是最后保存的数据(并不是马上就发现)不对。既然保存如C版所说,那保存逻辑没问题,我再查查其他原因。
另,保存时只保存修改过的数据。是指行还是单元格。
再次谢谢C版

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/3/12 14:21:00 [只看该作者]

  我的理解是怎样的,如果同时在编辑同一单元格,我不知道是怎样的.我只知道如果A用户编辑了,保存,就是A的数据,如果B用户跟着A后面修改了同一单元格的数据的话,如保存应该是B,如不保存应该是A的数据.

 回到顶部
总数 16 1 2 下一页