Foxtable(狐表)用户栏目专家坐堂 → addnew后怎么获取"_Identify"


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

主题:addnew后怎么获取"_Identify"

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
addnew后怎么获取"_Identify"  发帖心情 Post By:2017/8/9 19:15:00 [显示全部帖子]

dim fr as datarow = ft.AddNew
fr.save
msgbox(fr("_Identify"))

如上,实测获取失败,怎么能够通过代码获取当前新增行的主键值呢?

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/8/9 19:45:00 [显示全部帖子]

报错:当传递具有新行的 DataRow 集合时,更新要求有效的 InsertCommand。
测试代码如下:第一个msgbox为0,第二个报错,我的目的是通过sql新增行后,获取对应的主键值,便于关联操作

Dim cmd As new SQLCommand
cmd.ConnectionName = gs_strActiveConn
cmd.CommandText = "sel ect * fro m Test_通用窗口 where 1=2"
Dim dt As DataTable = cmd.ExecuteReader
Dim fr As DataRow = dt.AddNew
msgbox(fr("_Identify"))
fr.Save
msgbox(fr("_Identify"))


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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/8/10 1:01:00 [显示全部帖子]

测试获取到的数据都为0
怀疑fr一经保存,其定位将失效,怎么破呢?
[此贴子已经被作者于2017/8/10 9:00:55编辑过]

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/8/10 9:52:00 [显示全部帖子]

仔细测试过了,内部数据源没问题,但是外部数据源确实获取不到。

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/8/10 10:58:00 [显示全部帖子]

我直接贴出我的测试代码吧,实在测试不通过,不知道哪里出问题,两个msgbox都显示0
--mssql2014数据库
Dim o As new OuterTableBuilder
o.ConnectionName = gs_strActiveConn
o.SelectString = "select * fro m {Test_通用窗口} where 1=2"
o.tablename = "ccc"
o.build
Dim dt As DataTable = DataTables("ccc")
Dim fr As DataRow = dt.AddNew
fr("文本") = "1234"
msgbox(fr("_Identify"))
fr.Save
msgbox(fr("_Identify"))

‘---以下表结构
SELECT TOP 1000 [_Locked]
      ,[_SortKey]
      ,[_Identify]
      ,[文本]
      ,[逻辑]
      ,[备注]
      ,[日期]
      ,[整数]
      ,[浮点]
      ,[审计_审核]
      ,[审计_备注]
      ,[审计_请求处理]
      ,[审计_创建者]
      ,[审计_创建时间]
      ,[审计_修改者]
      ,[审计_修改时间]
      ,[审计_修改确认]
  FRO M [IBMD].[dbo].[Test_通用窗口]
[此贴子已经被作者于2017/8/10 10:58:52编辑过]

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/8/10 11:42:00 [显示全部帖子]

竟然有效,太奇怪了。
研究了两个表的结构,都是由FT建立的,区别只在一个是半年前旧版建立的,难道是bug?
没时间折腾了,有问题的表重新建立一遍就可以了,非常感谢!
[此贴子已经被作者于2017/8/10 11:43:39编辑过]

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/8/10 12:03:00 [显示全部帖子]

有的,特意检查了“标志规范”

 回到顶部