Foxtable(狐表)用户栏目专家坐堂 → 外部表执行LoadFilter时报错!


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

主题:外部表执行LoadFilter时报错!

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


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
外部表执行LoadFilter时报错!  发帖心情 Post By:2017/3/1 11:48:00 [只看该作者]

如下属性,datatable表为OuterTableBuilder动态加载的子查询表:如
select c1,(select c2 fro m tb2 where tb2.c3 = tb1.c3) fro m tb1
此表已加载成功,但使用如下参数设置后,总会各种报错,请问怎么解决?
另外,该类属性适用于如下哪种表?如不适合,应该怎么实现类似效果?
1、OuterTableBuilder 基本表,如 select * fro m tb 
2、 OuterTableBuilder 子查询表,如 select c1,(select c2 fro m tb2 where tb2.c3 = tb1.c3) fro m tb1
3、 QueryBuilder 单表查询, 如 select * f rom tb 
4、 QueryBuilder 子查询表,如 select c1,(select c2 f rom tb2 where tb2.c3 = tb1.c3) f rom tb1
5、 QueryBuilder 联合查询,如 select tb1.c1,tb2.c2 f rom tb1 LEFT OUTER JOIN tb2 where tb1.c3 =tb2.c3

名称 类型 说明
LoadFilter 属性 字符型,用于设置重新加载数据的条件表达式,语法和所使用的数据源有关。
LoadOrder 属性 字符型,指定加载数据的顺序。
LoadTop 属性 字符型,指定要加载的行数,如果是分页加载,则用于指定每页的行数。
LoadReverse 属性 逻辑型,是否倒序加载,即是否先加载新数据,此属性只有在分页加载的时候才有效。
LoadOver 属性 字符型,用于指定分页加载依据列。
LoadPage 属性 整数型,指定要加载的页号。
TotalPages 属性 整数型,返回分页加载时,总的可加载总页数。
Load 方法 加载数据。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/1 12:04:00 [只看该作者]

 LoadFilter 适用所有的,设置条件的话,你要加上表名。也就是你整条sql语句要符合语法规定能执行成功。

 

select c1,(select c2 from tb2 where tb2.c3 = tb1.c3) from tb1 where tb1.c1 = 'yyy' And tb2.c2 = "zzz"


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/1 12:05:00 [只看该作者]

LoadPage和LoadOver等属性,只能是 select * from 表 这种形式的

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


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/1 12:39:00 [只看该作者]

select c1,(select c2 from tb2 where tb2.c3 = tb1.c3) from tb1 where tb1.c1 = 'yyy' And tb2.c2 = "zzz"
实测这种方式不行啊,麻烦确认下。
注:用此方式加载后,重新设置where的条件,即dt.loadfilter = "1=1",dt.load,提示"("处语法错误。
但采用OuterTableBuilder 方法加载时成功的,且sql语句直接在mssql运行没问题。
[此贴子已经被作者于2017/3/1 12:42:30编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/1 12:53:00 [只看该作者]

 哦,测试了一下,好像是没办法。你只能直接执行sql语句了,不能设置属性。

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


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/1 13:14:00 [只看该作者]

谢谢,看来只能通过底层数据库自定义表达式列,并将子查询写成自定义函数的形式来达到“既能编辑,又能检索数据”的效果了

 回到顶部