以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]数据保存机制的疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149403) |
-- 作者:huangfanzi -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/30 14:59:00 -- 在的。foxtable只保存改变的数据。A电脑改了某行“合同关联编号”,没有改其他列,A电脑保存的时候只会保存“合同关联编号”列数据,不会影响其它用户往其他列保存的数据。 |
-- 作者:huangfanzi -- 发布时间:2020/4/30 15:09:00 -- 我做了试验是还在,哪另一种情况 B电脑上窗口中表显示了“合同关联编号”列,此列被我用代码设置了不可编辑,就是列标题上会有个小锁,用户编辑了此条记录的其他格子 此时A电脑执行了U PDATE 再之后,B电脑才勾了审核执行了保存操作 按老师你说的,只保存修改过的数据,因为B电脑中的“合同关联编号”列是不可编辑的,所以,虽然显示了此列,但还是不会影响A电脑的写入数据操作的保存,是吗?
|
-- 作者:有点蓝 -- 发布时间:2020/4/30 16:12:00 -- 如果使用了sql来update那是另外一回事了,2楼我说的是默认的datatable.save方法保存数据。如果自己使用sql来update数据,不管update什么列都会影响所有的用户,因为update是直接写数据库的,不受foxtable控制 |