以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何让数据保存的时候一列的值=indentify  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61468)

--  作者:chnfo
--  发布时间:2014/12/12 22:11:00
--  [求助]如何让数据保存的时候一列的值=indentify
我在表中用了ID来做表间关联的主键,然后用了_identify作为自动增长列。

然后在datarowadding事件中,给ID赋予临时编号
Static Index As Integer = 99999
e.
DataRow("编号") = Format(Date.Today(),"yyMM") & "-" & Index
Index = Index -
1

但在网络条件下,临时编号可能会重复,但_identify是不会重复的。
所以,我想是在数据保存之后,ID列的值=_identify。这样,ID作为表间关联的主键,就不可能有重复值了。

不知道如何实现这样的东东?

我的目的不是为了在界面上展示ID,这一列在任何界面上都是隐藏的。
因为网络环境下的复杂编号,效率实在是有点低。
[此贴子已经被作者于2014-12-12 22:44:19编辑过]

--  作者:Bin
--  发布时间:2014/12/13 8:56:00
--  
用表达式列 http://www.foxtable.com/help/topics/0107.htm
--  作者:chnfo
--  发布时间:2014/12/13 9:30:00
--  
问题是我是要用它来做表间关联啊,表达式列不行吧。而且我是想把id值存在数据库的表里,可以合并其它项目数据用
[此贴子已经被作者于2014-12-13 9:36:03编辑过]

--  作者:Bin
--  发布时间:2014/12/13 9:35:00
--  
你可以设置_Identify作为关联
--  作者:chnfo
--  发布时间:2014/12/13 9:38:00
--  
identify做关联,不能导出项目数据再导入啊。那就全乱了
[此贴子已经被作者于2014-12-13 9:38:11编辑过]

--  作者:chnfo
--  发布时间:2014/12/13 9:45:00
--  
所以我的想法是保存数据后,iD值=identify,就可以随便导入导出,合并多项目间数据就简单)
--  作者:Bin
--  发布时间:2014/12/13 10:09:00
--  
要不你还是用自行生成编码吧
--  作者:chnfo
--  发布时间:2014/12/13 13:59:00
--  
帮助中的自动生成编号我看了,我关心的是用这种方法会不会导致在网络使用情况下的编号重复。
但程版以前回复说肯定会有重复。

所以,我在想,如果用HardDiskId作为前缀,再配合自动编号的生成方法,是不是就没问题了?
[此贴子已经被作者于2014-12-13 15:39:15编辑过]

--  作者:有点甜
--  发布时间:2014/12/14 10:21:00
--  

 回复8楼,那你还不如直接用_Identify。

 

 用HardDiskId肯定不会重复