以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  【已解决!】从排查“列‘_Identify’被约束为是唯一的”引发的故事报告  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=135142)

--  作者:kylin
--  发布时间:2019/5/18 11:30:00
--  【已解决!】从排查“列‘_Identify’被约束为是唯一的”引发的故事报告

本项目有一个LcnUsr用于系统用户定义以及系统用户授权之用,本表有5个用户定义,即有5个记录行。

0、这个表的5行记录,见下图:

 
图片点击可在新窗口打开查看此主题相关图片如下:yl.png
图片点击可在新窗口打开查看

在做用户授权的时候出现错误提示:“\'列"_Identify"被约束为是唯一的【这个截图没有做】,以下的操作与发现做个简单的故事报告:

 

1、查看表LcnUsr本身,在这个情况应该是只加载一行,结果是有一行有数据,但是同时出现4行空白行(如下图),不去细想,用菜单做删除这四个行的操作,但Foxtable不允许删除并出现错误提示(如下图): [说明:整个项目当中,我没有一个地方用到汇总模式,菜单也没去碰过]


图片点击可在新窗口打开查看此主题相关图片如下:kb.png
图片点击可在新窗口打开查看

2、那好吧,全部删除,结果如上都不行的。

3、那看看全部数据吧,从命令窗口写入代码来全部加载一下数据,出现了错误提示,如下图: 


图片点击可在新窗口打开查看此主题相关图片如下:jz.png
图片点击可在新窗口打开查看
4、没辙了,转到其他表,再返回本表,第一图显示的数据信息全都不见了,貌似第2步删除成功了,见下图: 


图片点击可在新窗口打开查看此主题相关图片如下:sc.png
图片点击可在新窗口打开查看

5、以为删除成功,那从菜单处新增加行吧,系统又出现错误,如下图: 


图片点击可在新窗口打开查看此主题相关图片如下:xz.png
图片点击可在新窗口打开查看

6、真的没辙了,删除了这个外部表,并且从SQL Server中也删除这个表,重建重新添加外部表



图片点击可在新窗口打开查看此主题相关图片如下:yl.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/5/19 18:26:20编辑过]

--  作者:kylin
--  发布时间:2019/5/18 11:41:00
--  

这个表有若干次类似问题,首先出现列唯一值错误,然后删除行的时候出现汇总模式不能删的错误,之后删除表重建表。这次再出现了,就有意识地做了跟踪和截图

[此贴子已经被作者于2019/5/18 13:41:10编辑过]

--  作者:有点蓝
--  发布时间:2019/5/18 13:21:00
--  
新建一个空数据库,导入这个表,新建一个项目连接这个表测试有没有问题?如果还是有问题,把新的项目和数据库上传测试一下
--  作者:kylin
--  发布时间:2019/5/18 13:58:00
--  
我强调的是出现这个错误【列‘_Identify’被约束为是唯一的】,应该是FoxTable的Bug吧
我的这个项目盘根错节较多,不好做个模拟项目提交上来。
因为项目需要,我删除表再重建,现在只出现“唯一值”这个麻烦,关闭10次错误提示窗口,倒是暂时可用。
我是否可以联系官方做远程诊断?
[此贴子已经被作者于2019/5/18 13:58:12编辑过]

--  作者:有点蓝
--  发布时间:2019/5/18 14:08:00
--  
除非能够在本地重现这个问题,否则没有办法确定是不是bug。就算是bug,像这种情况开发人员如果不调试进去也没法确定问题原因和解决。而远程是无法调试的。



--  作者:kylin
--  发布时间:2019/5/18 14:51:00
--  
我不知道版主是否对一楼有认真读过?那么多的错误提示,难道对你没有一点点的提示价值?
【我作为用户,我保证我的代码里头没有直接对这个_Identify字段改写的代码。】
5楼的这个回答得“很官方”,我很理解“自己的孩子自己爱”这个道理
_Identify可谓是FoxTable的鲜明特色,它出现这样状况,理应得到重视,而不是忽视:“唯一键值出现重复,肯定不是用户有意造成的”,难道是C1控件本身的原因,我渴望得到答案!!!

第一,之前是也有出现这个问题,有点甜版主认为是频繁删除、添加、保存记录导致的。我尽量不这样去做,但是要多走好多道道才解决了需求。

第二,而这次出现同样的错误,其代码里头并没有什么删除、添加记录,只有单元格填写数据保存代码啊。
就算是第一个原因,官方也应该解决啊,你不能说用户啊,你不可以这样做,删除添加保存记录是数据库管理软件的基本动作,难免会有频繁需求的场合啊。






--  作者:有点蓝
--  发布时间:2019/5/18 15:23:00
--  
我知道那你有这些错误和提示,问题是我没有办法重现这些错误。所以请做个可以重现这些问题的新项目。如果说因为所谓的盘根错节的逻辑无法做实例,那么怎么确定不是因为您这些盘根错节的逻辑而导致的一些冲突呢?

等周一可以联系客服远程看看。

--  作者:kylin
--  发布时间:2019/5/19 18:33:00
--  
认真地,诚恳地向有点蓝版主道歉!!!并向FoxTable官方道歉!!!
我应该要吸取教训:从严查自身代码开始,而不是从怀疑FoxTable开始。
经过大量时间的排查,是我在代码中使用AppendLoad中没有去排除重复加载的可能性,产生了这个问题。