以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]_identify的实例化  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60975)

--  作者:arthurshoe
--  发布时间:2014/12/4 16:30:00
--  [求助]_identify的实例化

数据表的加载时动态加载的,只加载部分数据,这时候如果用Datatable.Addnew

得到的_identify 其实是当前加载的数据里面的_identify 加 1

而执行save后,其实_identify的值是整个表里面最大的_identify 加 1,两个的数值是不同的。

怎么可以在addnew,还没有真正保存到数据表前 就得到真正最后的_identify

看到数据表里面的beforeattachfile,里面的_identify其实在没有保存记录时就得到真正的_identify..

是怎么做到的了?

 


--  作者:有点甜
--  发布时间:2014/12/4 16:56:00
--  

 Addnew之后,马上 Save

 

 这样才能得到真正的_Identify值


--  作者:jspta
--  发布时间:2014/12/4 17:03:00
--  
以下是引用arthurshoe在2014-12-4 16:30:00的发言:

数据表的加载时动态加载的,只加载部分数据,这时候如果用Datatable.Addnew

得到的_identify 其实是当前加载的数据里面的_identify 加 1

而执行save后,其实_identify的值是整个表里面最大的_identify 加 1,两个的数值是不同的。

怎么可以在addnew,还没有真正保存到数据表前 就得到真正最后的_identify

看到数据表里面的beforeattachfile,里面的_identify其实在没有保存记录时就得到真正的_identify..

是怎么做到的了?

 

你可以Select Max(_Identify) from 表 就可以获得了。但在多人同时操作的时候可能会出现重复现象

还有一种办法,连续SAVE 2次,第一次保存或获得真正_Identify,第二次修改后保存。这个方法可以很好解决少量数据保存获取ID。


--  作者:arthurshoe
--  发布时间:2014/12/4 17:25:00
--  

现在我就是先保存然后,再更新的。。。

麻烦事有些字段不能为空或者有条件限制,保存前要造数据,还有一些字段的是需要_identify 相关的,只能保存后再更新。。

这种情况在批量保存数据时就要一条datarow save一次,效率很低!

没有其他办法了吗?好像以前看到_identify实例化的文档。。现在找不到!

 

 


--  作者:有点甜
--  发布时间:2014/12/4 17:38:00
--  

 没有更好的方法了,_Identify是去除重复最好的办法。