以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何设置主键  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43011)

--  作者:lfxxdt
--  发布时间:2013/11/28 8:53:00
--  如何设置主键

从哪里对表中某列设置主键

 

 


--  作者:Bin
--  发布时间:2013/11/28 8:55:00
--  
默认主键是 _Identify  想要自己设置的话要到 数据库里设置

内部数据源可以考虑使用SQL语句设置

--  作者:lfxxdt
--  发布时间:2013/11/28 9:08:00
--  
默认主键是 _Identify ,这个是不是自增型的
--  作者:Bin
--  发布时间:2013/11/28 9:15:00
--  
是的,帮助也有说到! http://www.foxtable.com/help/topics/1807.htm
--  作者:lfxxdt
--  发布时间:2013/11/28 9:24:00
--  
那还有什么原因呢,现在做的{日报表},不同工序只加载本工序的数据录入,然后再保存,就存在个别数据跑到其它工序,或将其它工序的数据替换,这个问题一直找不到原因。
--  作者:Bin
--  发布时间:2013/11/28 9:25:00
--  
没有例子测试分析,纸上谈兵对于这种问题是得不到答案的.
--  作者:lfxxdt
--  发布时间:2013/11/28 9:34:00
--  
我这个做的是网络环境下的,无法上例子,是否可上QQ,在QQ上通过远程来查看分析
--  作者:Bin
--  发布时间:2013/11/28 9:35:00
--  
你做个一样的ACCESS外部数据源例子吧,远程查看分析,估计得搞好几天都折腾不出结果. 又卡又不方便,不太科学.
--  作者:狐狸爸爸
--  发布时间:2013/11/28 9:47:00
--  

我再提醒一个细节,新增行的时候,_Identify列的值是临时的,例如原来有10行(0-9),A和B两个用户同时增加1行,那么两个人新增的行的_Identify的值都是10,保存之后,一个还是为10,另一个为11,这个值才是真正的Identify值。

 

所以编码使用sql语句更新,而且sql语句使用了_Identify列的值作为更新依据的话,那么对于新增行,必须先保存此行,才能调用其_Identify列的值,否则必定存在一定的出错概率。

 

比较稳妥的是新增行后立即保存,或者另外用一个字符列(长度12左右),后台将此列设置为唯一,新增行时生成随机字符写入此列,编码的时候将此列作为行的身份识别。

[此贴子已经被作者于2013-11-28 9:58:36编辑过]

--  作者:lfxxdt
--  发布时间:2013/11/28 14:21:00
--  

这是我编写的