以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 保存和重新加载问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=6158) |
-- 作者:wqc360 -- 发布时间: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 \'重新加载数据 |
-- 作者:狐狸爸爸 -- 发布时间:2010/3/12 11:35: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 |
-- 作者:wqc360 -- 发布时间:2010/3/12 11:54:00 -- 一下代码是保存数据和设置吗: Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick() |
-- 作者:czy -- 发布时间: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 -- 发布时间:2010/3/12 11:59:00 -- 以下是引用wqc360在2010-3-12 11:54:00的发言:
一下代码是保存数据和设置吗: Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()
|
-- 作者:wqc360 -- 发布时间: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 -- 发布时间:2010/3/12 13:37:00 -- 以更改的数据为准。也就是说会变成456 不会造成冲突,保存时只保存修改过的数据。 |
-- 作者:wqc360 -- 发布时间:2010/3/12 14:06:00 -- 这样就好,但是我的项目使用者反映明明改过的或者是这样输入的,怎么今天又不对了,我也觉得奇怪,因为我设置了一些条件列表项目,数据最后是不对的,他们按道理是没法输入的,但录入者答复当是录入是对的(我有条件列表项目),但是最后保存的数据(并不是马上就发现)不对。既然保存如C版所说,那保存逻辑没问题,我再查查其他原因。 另,保存时只保存修改过的数据。是指行还是单元格。 再次谢谢C版 |
-- 作者:blackzhu -- 发布时间:2010/3/12 14:21:00 -- 我的理解是怎样的,如果同时在编辑同一单元格,我不知道是怎样的.我只知道如果A用户编辑了,保存,就是A的数据,如果B用户跟着A后面修改了同一单元格的数据的话,如保存应该是B,如不保存应该是A的数据. |