Foxtable(狐表)用户栏目专家坐堂 → [求助]数据保存机制的疑问


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

主题:[求助]数据保存机制的疑问

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]数据保存机制的疑问  发帖心情 Post By:2020/4/30 14:52:00 [只看该作者]

窗口中有一张表SQLTable,表上有一列,比如叫 “合同关联号” ,在窗口中的表上,没有显示此列
窗口表中还有一列逻辑列,比如叫审核,在表事件DataColChanged中设置了代码,当审核打上勾后,就执行 e.DataRow.Save
当前,某行合同编号为CG202004-0001记录的审核列没有打勾
此时,有另一个客户端,在另外一个窗口中的某个按钮上点击执行了以下代码:
Dim cmd As New SQLCommand
cmd.C ">cmd.C ommandText = "U PDATE {合同} SET 合同关联编号 = 888 WHERE 编号 = 'CG202004-0001'"
cmd.ExecuteNonQuery()

当执行完上面代码后,第一个客户端窗口中的表的某行记录修改了一些内容后勾了审核,也就是执行了e.DataRow.Save

请问老师,在这个情况下,这个“合同关联编号”中的“888” 还在吗?
[此贴子已经被作者于2020/4/30 14:55:42编辑过]

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


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/30 14:59:00 [只看该作者]

在的。foxtable只保存改变的数据。A电脑改了某行“合同关联编号”,没有改其他列,A电脑保存的时候只会保存“合同关联编号”列数据,不会影响其它用户往其他列保存的数据。

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/4/30 15:09:00 [只看该作者]

我做了试验是还在,哪另一种情况
B电脑上窗口中表显示了“合同关联编号”列,此列被我用代码设置了不可编辑,就是列标题上会有个小锁,用户编辑了此条记录的其他格子
此时A电脑执行了U PDATE
再之后,B电脑才勾了审核执行了保存操作
按老师你说的,只保存修改过的数据,因为B电脑中的“合同关联编号”列是不可编辑的,所以,虽然显示了此列,但还是不会影响A电脑的写入数据操作的保存,是吗?

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


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/30 16:12:00 [只看该作者]

如果使用了sql来update那是另外一回事了,2楼我说的是默认的datatable.save方法保存数据。如果自己使用sql来update数据,不管update什么列都会影响所有的用户,因为update是直接写数据库的,不受foxtable控制

 回到顶部