起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3231|回复: 11

[结贴] 复杂sql结果给data的reader,报错

[复制链接]

91

主题

257

帖子

648

积分

高级会员

Rank: 4

积分
648
QQ
发表于 2015-5-18 10:12:30 | 显示全部楼层 |阅读模式
报错
2015-05-18 10:10:37 编码: JUSTEP001007; 提示: data[projectData]的query action参数idColumn没有定义
javax.servlet.ServletException: com.justep.xbl.runtime.XBLException: 编码: JUSTEP001007; 提示: data[projectData]的query action参数idColumn没有定义

代码,查询action
String s = "select y.*,b.fid as nid from " +
                                         "(select x.*,s.ifCommit from " +
                                         "(select fid,bidno,bidname,etime from hd_project " +  
                                         "where state='5' " +
                                         "order by createdate desc " +
                                         ") x left join hd_supplieroffer s on x.fid=s.pid) y " +
                                         "left join " +
                                         "(select fid,pid from HD_BidNotice where bidsupplierid='3D2DE7DA72EB486DB4BB457D439D168D' " +
                                         ") b on y.fid=b.pid";
       
                Map<String, String> sql = new HashMap<String, String>();
                sql.put(DatabaseProduct.MYSQL.toString(), s);
                return SQL.select(sql, null, "/HDPP/pm/data");

11.png


91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-5-18 15:02:49 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

257

帖子

648

积分

高级会员

Rank: 4

积分
648
QQ
 楼主| 发表于 2015-5-18 17:32:02 | 显示全部楼层
jishuang 发表于 2015-5-18 15:02
重写queryAction参考http://wex5.com/X5Knowledge/knowledge_2DC618C9C7B0447DB63C53B82C3FE5DE.html

视频说的都是KSQL,我这个问题是SQL,不能解决我的问题
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-5-19 08:59:48 | 显示全部楼层
KSQL和SQL都一样,只是sql语句不同
但是重写queryAction,把action设置到data的reader上,那么标准queryAction那些参数是不能少的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

257

帖子

648

积分

高级会员

Rank: 4

积分
648
QQ
 楼主| 发表于 2015-5-19 09:13:20 | 显示全部楼层
jishuang 发表于 2015-5-19 08:59
KSQL和SQL都一样,只是sql语句不同
但是重写queryAction,把action设置到data的reader上,那么标准queryActi ...

该配置的参数和KSQL一样都配置,代码和截图都在上边,但是页面编译就出错,错误信息也发出来了,找不出原因
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-5-19 13:09:09 | 显示全部楼层
queryAction中的idColumn怎么设置的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

257

帖子

648

积分

高级会员

Rank: 4

积分
648
QQ
 楼主| 发表于 2015-5-19 13:56:07 | 显示全部楼层
jishuang 发表于 2015-5-19 13:09
queryAction中的idColumn怎么设置的?
  1.         public static Table querySupplierOfferInfo(){
  2.                 String id = ContextHelper.getPerson().getID();
  3.                 System.out.println(id);
  4.                
  5.                
  6.                 String s = "select y.*,b.fid as nid from " +
  7.                                  "(select x.*,s.ifCommit from " +
  8.                                  "(select fid,bidno,bidname,etime from hd_project " +  
  9.                                  "where state='5' " +
  10.                                  "order by createdate desc " +
  11.                                  ") x left join hd_supplieroffer s on x.fid=s.pid) y " +
  12.                                  "left join " +
  13.                                  "(select fid,pid from HD_BidNotice where bidsupplierid='3D2DE7DA72EB486DB4BB457D439D168D' " +
  14.                                  ") b on y.fid=b.pid";
  15.        
  16.                 Map<String, String> sql = new HashMap<String, String>();
  17.                 sql.put(DatabaseProduct.MYSQL.toString(), s);
  18.                 Table table = SQL.select(sql, null, "/HDPP/pm/data");
  19.                
  20. //                table.addColumn("fid", "String");
  21. //                table.addColumn("bidno", "String");
  22. //                table.addColumn("bidname", "String");
  23. //                table.addColumn("etime", "DateTime");
  24. //                table.addColumn("nid", "String");
  25. //                table.addColumn("ifCommit", "String");
  26.                 table.getProperties().put(Table.PROP_NAME_ROWID, "fid");
  27.                
  28.                 return table;
  29.         }
复制代码
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-5-19 15:19:35 | 显示全部楼层
重写queryAction,把action设置到data的reader上,那么标准queryAction那些参数是不能少的,在4楼都写了
你的queryAction中都没有哪些参数啊
action.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

257

帖子

648

积分

高级会员

Rank: 4

积分
648
QQ
 楼主| 发表于 2015-5-19 16:07:00 | 显示全部楼层
jishuang 发表于 2015-5-19 15:19
重写queryAction,把action设置到data的reader上,那么标准queryAction那些参数是不能少的,在4楼都写了
你 ...

我看视频(2楼发的视频)上说这些参数都是为KSQL编辑器服务的,可以不用。我用纯sql查询,没有用到KSQL编辑器,所以就不需要这些参数。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-5-19 17:57:00 | 显示全部楼层
如果要设置为bizData的reader就需要这些
如果不设置这些就不能设置为reader

就需要用代码调用action,然后把返回的结果load给data显示
http://bbs.wex5.com/forum.php?mo ... 1&pid=164970127
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 11:28 , Processed in 0.082232 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表