Foxtable(狐表)用户栏目专家坐堂 → 定位父表的记录出错


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

主题:定位父表的记录出错

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
定位父表的记录出错  发帖心情 Post By:2015/5/14 8:34:00 [只看该作者]

想通过订单明细表的行,定位到订单主表的行,这样写,提示出错:
---------------------------
版本:2014.11.11.1
---------------------------
代码执行出错,错误信息:
System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 Foxtable.DataRow.GetParentRow(String ParentTableName)
   在 UserCode.Test()


代码如下:
Dim dr As DataRow = DataTables("订单明细表").SQLfind("客户订单号 = '20150408'")   '20150408为已存在的客户订单号
If dr IsNot Nothing Then
    Dim pr As DataRow = dr.GetParentrow("订单主表")
Else
    MessageBox.Show("没有找到该订单号")
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/14 8:37:00 [只看该作者]

错误代码应该不是这里. 这个代码没问题.具体请上例子看看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/14 8:38:00 [只看该作者]

也有可能是  SQLFIND的行.无法GetParentrow  因为是后台单独加载的行.

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/5/14 8:54:00 [只看该作者]

很可能是通过SQLFIND找到行,没有加载表。
本人不知道如何再加些代码去定位父表记录了,请版主帮助看看:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:父表记录.zip



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/14 9:01:00 [只看该作者]

用SQLSelect http://www.foxtable.com/help/topics/2900.htm 

不要用 GetParentrow

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 9:09:00 [只看该作者]

Dim pr As DataRow = dr.GetParentrow("订单主表")

 

这句代码改成也用sqlFind

 

Dim pr As DataRow = DataTables("订单主表").SQLfind("订单号 = '" & dr("订单号") & "'")


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/5/14 9:09:00 [只看该作者]

SQLSelect也不合适,实际项目中,“订单客户”只存在于“订单主表”中。
我可能要去改改查询方式,通过查询“订单主表”的客户订单号,先求得“订单客户”,再处理其他事情。

谢谢版主!

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/14 9:11:00 [只看该作者]

看6楼. 用SQLFIND . 刚才没看准以为获取子表.

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/5/14 9:26:00 [只看该作者]

嗯,6楼正解,我现在项目中也改成这样了。
谢谢二位版主!

 回到顶部