Foxtable(狐表)用户栏目专家坐堂 → [求助]DataRowAdded代码问题


  共有2025人关注过本帖树形打印复制链接

主题:[求助]DataRowAdded代码问题

帅哥哟,离线,有人找我吗?
张松波
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:79 积分:825 威望:0 精华:0 注册:2018/2/3 13:10:00
[求助]DataRowAdded代码问题  发帖心情 Post By:2021/9/29 23:22:00 [只看该作者]

老师有个疑问请教一下,案例如下:
创建了一个外部表,表名为:A,表A里有一列名称ID的列(意图为自增列增量为1,从1开始)
我在表A的DataRowAdded事件里写了如下代码
e.DataRow("ID") = e.DataTable.SQLCompute("Max(ID)") + 1
然后再在Tables(“A”)里 Addnew(),然后执行 CurrentTable.Current.DataRow.Save() 而且确保没有漏保存。

现在问题出现了:
ID是在增加的,但是中间却有重复的值。按道理不应该啊。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/30 8:46:00 [只看该作者]

如果并发情况下,可能会出现重复的。

还不如直接到数据库设置为自增的:http://www.foxtable.com/webhelp/topics/1807.htm

 回到顶部
帅哥哟,离线,有人找我吗?
张松波
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:79 积分:825 威望:0 精华:0 注册:2018/2/3 13:10:00
  发帖心情 Post By:2021/9/30 10:35:00 [只看该作者]

老师  没有并发就是我一个人在测试,连续加个好几条数据就会有重复的了,所以难道是SQLCOMPUTE有错误?
我做了个ID列  是用来排序的按照创建顺序先后排序,现在改成用table的_indentify列排序了,没有问题,就是怕我要是自增人员编号的时候 怕也这样就麻烦了(全部人员信息加载到datatable里测试过没有问题),用SQLLOAD分页加载我再测试一下。
[此贴子已经被作者于2021/9/30 10:37:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/30 10:47:00 [只看该作者]

SQLCompute只获取后台的数据,如果有重复,肯定是没有保存

DataRowAdded事件
e.DataRow("ID") = e.DataTable.SQLCompute("Max(ID)") + 1
e.DataRow.save

 回到顶部