注册 登录
编程论坛 VFP论坛

使用spt遇到的一些疑难问题

fanjinyu9108 发布于 2022-08-28 16:02, 1360 次点击
本人使用SPT对远程数据进行修改,遇到这样的问题,请教如何解决,假如有甲乙2个人分别打开A表,在本地建立临时表,A表有字段1和字段2,原始值都是空值,甲先修改字段2,值为“www”,然后保存,乙修改字段1的值为“sss”,乙的本意是保持甲对字段2的修改,由于乙的本地表字段2是空值,没有做任何修改,导致存盘后字段2的值变为空值,请问有什么办法解决吗?
7 回复
#2
my23182022-08-28 16:57
确保两个人不能同时修改同一条记录,不同时修改时按先后顺序保存。
#3
kangss2022-08-28 18:55
多人同时修改同一条记录就会出现楼主的情况。网络版就这样,按 2 说的谁最后保存算谁的。
要么自己增加标记,修改前读取标记,禁止修改别人正在修改的记录。
#4
laowan0012022-08-28 21:00
乙的本意是保持甲对字段2的修改

其实乙并不知道甲修改了字段2,所以应该是乙修改了字段1,那就只保存字段1的内容,其他字段不动
这样,保存的是最后一次修改的结果,是合理的
#5
w6720w2022-08-28 22:31
对临时表筛选后,遂条记录遂个字段更新到SQL表中, 牺牲了速度, 判断字段值是空值就不更新到sql表中, 这样可以吧
#6
sych2022-08-29 08:24
给记录增加时间戳,每次更新时比较时间戳
#7
a575985872022-08-30 08:48
愚见:本地表用来查询使用,如果需要修改记录 建议使用事务处理来修改远程数据库记录,这样似乎可以解决更新记录冲突。
如果远程数据库可以使用记录锁 可能会更好些
#8
sostemp2022-08-30 10:02
锁定处理
1