以文本方式查看主题 - 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是去除重复最好的办法。
|