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

QQ登录

只需一步,快速开始

查看: 1689|回复: 8

[结贴] 实现SqlQuery的Action,查询时出错。

[复制链接]

5

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
发表于 2017-4-19 15:18:20 | 显示全部楼层 |阅读模式
练习SqlQuery查询时遇到问题。
在相应的.service.m文件中新建一个testAction,实现action:common/CRUD/sqlQuery,  
sql中写入 select  *  from v_detail where TId=2 and (::filter)   
编译模型,
w页面中新建xid=testData的bassData,queryAction为 testAction
js页面中的 model.onLoad方法中写入
                var queryIn = this.comp("testData");//得到bassData
                queryIn.clear();//清空
                var pno = "1";
                queryIn.setFilter("filter1", "PNo = '"+pno+"'"); //设置filter被参数化传入值
                queryIn.refreshData();//刷新数据
                var count = queryIn.count();//查看条数     
                alert(count);
保存 编译 运行后, 报HTTP Status 500-执行Action:testAction失败,Action[testAction]执行失败(省略路径),SQL执行失败,SQL:,params:[]
同时 弹出的 count也为0;
(select  *  from v_detail where TId=2 and PNo = "1"   数据库直接查询结果集为2行)

求各位大神指导此方法如何使用。

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-4-19 16:38:58 | 显示全部楼层
setFilter不能这么写吧
要不你就在sql中写死或传参  要不你就查完返回数据后在setFilter
回复 支持 反对

使用道具 举报

5

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2017-4-19 16:59:11 | 显示全部楼层
sql中写入 select  *  from v_detail where TId=2 and PNo="1"  同样报错,且报错提示相同。

查完返回数据 如何setFilter?  这个应该就是加载后出现问题。  这种SQL写法 见中级教材 3.2.3 -1sql查询动作 (107页)
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-4-19 18:03:15 | 显示全部楼层
xzc4876 发表于 2017-4-19 16:59
sql中写入 select  *  from v_detail where TId=2 and PNo="1"  同样报错,且报错提示相同。

查完返回数据  ...

关于查完返回数据 如何setFilter的这个问题  你studio中搜索setFilter  一搜一大堆
回复 支持 反对

使用道具 举报

18

主题

61

帖子

121

积分

初级会员

Rank: 2

积分
121
QQ
发表于 2017-4-19 18:35:21 | 显示全部楼层
后面查询的条件拼写的双引号改成单引号试试
回复 支持 反对

使用道具 举报

5

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2017-4-20 09:19:26 | 显示全部楼层
半导体 发表于 2017-4-19 18:03
关于查完返回数据 如何setFilter的这个问题  你studio中搜索setFilter  一搜一大堆 ...

请问是查询帮助菜单下的第三项  搜索么?   搜素选项内容填写 setFilter  ?  
搜索结果!(见图1)   本地帮助(0次命中) 其他两个一次命中 打开无法显示

还有 我的问题可能描述的不好?   可能不是setFilter不会用??   点到这个函数上有帮助。。  不管对不对 反正有,我也照抄了(见1楼)。
但是!!!  因为在页面加载时完成的。而进入页面时会 查询相关Action(见图2)会进行 (autoLoad为false)
此时因为  (::filter) 为赋值  动态sql不完整所以报错,错误信息(见图3)
请帮忙看看 如何解决 谢谢你之前的回复~

setFilter图1

setFilter图1

testAction图2

testAction图2
新建位图图像.jpg
回复 支持 反对

使用道具 举报

5

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2017-4-20 09:20:40 | 显示全部楼层
dykiss 发表于 2017-4-19 18:35
后面查询的条件拼写的双引号改成单引号试试

谢谢你的回复和帮助, 其中 试用过 双引号 单引号 没引号  效果相同,无进展。
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-4-20 11:57:45 | 显示全部楼层
你搜错了  在这呢
1234.jpg
回复 支持 反对

使用道具 举报

5

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2017-4-20 13:12:29 | 显示全部楼层
半导体 发表于 2017-4-20 11:57
你搜错了  在这呢

好的 谢谢版主大大!!!  可以结题~~  
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 04:18 , Processed in 0.109460 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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