Foxtable(狐表)用户栏目专家坐堂 → 如何将新增行的_Identify,通过代码赋值给行编号?


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

主题:如何将新增行的_Identify,通过代码赋值给行编号?

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
如何将新增行的_Identify,通过代码赋值给行编号?  发帖心情 Post By:2017/9/21 11:22:00 [只看该作者]

Dim drs As DataRow = DataTables("会员资料").AddNew() 
If drs IsNot Nothing Then
   drs("会员编号") = _Identify  '如何将新增行的_Identify,通过代码赋值给行编号?
   drs.Save '保存会员编号
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/21 12:38:00 [只看该作者]

Dim drs As DataRow = DataTables("会员资料").AddNew() 
If drs IsNot Nothing Then
   drs.save
   drs("会员编号") = drs("_Identify") '如何将新增行的_Identify,通过代码赋值给行编号?
   drs.Save '保存会员编号
End If

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/9/21 13:31:00 [只看该作者]

添加行之后(在命令窗口执行代码),重新加载行,发现顺序全乱了。

打开sql2008,原来表里的_sortkey的原因,保存的时候能修改_sortkey值吗?或有其他什么办法

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170921132313343.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/9/21 13:35:12编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/9/21 14:05:00 [只看该作者]

Dim drs As DataRow = DataTables("员工反馈").AddNew() 
If drs IsNot Nothing Then
   drs.save
   drs("员工_编号") = drs("_Identify") '如何将新增行的_Identify,通过代码赋值给行编号
   drs("反馈时间") = Date.Now
   drs("反馈内容") = "1"
   drs("_sortkey") = drs("_Identify")  '写入sortkey值,之后排序正常了
   drs.Save '保存会员编号
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/21 14:24:00 [只看该作者]

 你可以把_Sortkey列去掉,默认就根据_Identify列排序了

 

http://www.foxtable.com/webhelp/scr/1791.htm

 


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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/9/21 17:22:00 [只看该作者]

以下2种方法哪个好?
1.假设多个城市共1000万行数据,我原来的设想是将1个城市数据写进1个表,然后每次查找、存储都用sqlfind处理

2.由于知道了_Identify,将这1000万行数据存进1个表,登录时,将_Identify写进cookie,这样每次查找、存储用下面这样处理(我已经写好了登录代码实现了一次登录,除会员信息变更外,很多天都不用再重复登录了)

Dim dr As DataRow
dr =
DataTables("订单").DataRows(59) '假设
_Identify是60,DataRows应该是59吧?

if dr isnot nothing then

   dr("会员姓名") = "张三"

   dr.save

end if




[此贴子已经被作者于2017/9/21 17:38:59编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/21 17:40:00 [只看该作者]

_Identify的值和行的位置不一定对应。比如一个 _Identify 是 98,但它在表格可能是第90行。

 

而且,直接使用datarows(i) 并不一定比 find或者sqlfind 快。建议还是用查找用户名的方式吧。


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


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/9/21 18:00:00 [只看该作者]

我感觉查找时行数越多,消耗平均查找时间应该越长

这样6楼第1种方法应该是比较好的办法了,谢谢
[此贴子已经被作者于2017/9/21 18:00:41编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/21 18:43:00 [只看该作者]

以下是引用zhangjian222200在2017/9/21 18:00:00的发言:
我感觉查找时行数越多,消耗平均查找时间应该越长

这样6楼第1种方法应该是比较好的办法了,谢谢
[此贴子已经被作者于2017/9/21 18:00:41编辑过]

 

你用的是find还是sqlfind?

 

如果用sqlfind,你可以把查找过的数据,添加进foxtable的一个表/字典,直接查这个表比较快。


 回到顶部