找回密码
 注册成为天翎用户
查看: 764|回复: 2

下拉框通过查询数据库来加载列表查询数据库查不到值

[复制链接]
dongbeishida 发表于 2015-5-14 13:34:38 | 显示全部楼层 |阅读模式
本帖最后由 lana 于 2015-5-26 09:22 编辑

1.下拉框选项中的脚本如下
var sql = "SELECT * FROM (SELECT        group_concat(code_name ORDER BY  c_order SEPARATOR ';'        ) AS ITEM_ZW,'DOMAINID' AS DOMAINID  FROM        t_code WHERE  code_id LIKE '01%' AND is_leaf = 1 AND is_used = 1  ) TABLE_A " ;
println("sql is  === " + sql );
var rtn = '';
var datas =queryBySQL(sql);
println("datas======" + datas);
if(datas!=null){
        var iter  =datas.iterator();
        if(iter != null && iter.hasNext())
        {
                 doc = iter.next();
                rtn = doc.getItemValueAsString("ZW");
        }
}   
rtn;      

2.MySql中查询结果如下。

3.调试信息显示如下
JsUtil:sql is === SELECT * FROM (SELECT group_concat(code_name ORDER BY c_order SEPARATOR ';' ) AS ITEM_ZW,'DOMAINID' AS DOMAINID FROM t_code WHERE code_id LIKE '01%' AND is_leaf = 1 AND is_used = 1 ) TABLE_A
JsUtil:datas======[]
JsUtil:sql is === SELECT * FROM (SELECT group_concat(code_name ORDER BY c_order SEPARATOR ';' ) AS ITEM_ZW,'DOMAINID' AS DOMAINID FROM t_code WHERE code_id LIKE '01%' AND is_leaf = 1 AND is_used = 1 ) TABLE_A
JsUtil:datas======[]
4.请问哪里配置的不正确,请大神帮忙看看,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
 楼主| dongbeishida 发表于 2015-5-14 16:32:58 | 显示全部楼层
感谢小肥大神的指导,已经找到解决方法,原来系统在查询的时候会自己给sql语句改造成这个样子
SELECT
        *
FROM
        (
                SELECT
                        *
                FROM
                        (
                                SELECT
                                        group_concat(
                                                code_name
                                                ORDER BY
                                                        c_order SEPARATOR ';'
                                        ) AS ITEM_ZW,
                                        'DOMAINID' AS DOMAINID
                                FROM
                                        dsideal.t_code
                                WHERE
                                        code_id LIKE '01%'
                                AND is_leaf = 1
                                AND is_used = 1
                        ) TABLE_A
        ) table_0
WHERE
        table_0.DOMAINID = '11e1-81e2-37f74759-9124-47aada6b7467'

也就是说需要一个DOMAINID这个字段。但是我原来加的'DOMAINID' AS DOMAINID是不对的,这里要获得DOMAINID的值。
所以将原来的SQL改造成如下
var sql = "SELECT *
                FROM (SELECT
                                group_concat(code_name ORDER BY  c_order SEPARATOR ';'        ) AS ITEM_ZW,
                                '"+domainid+"' AS DOMAINID

                        FROM       
                t_code WHERE  code_id LIKE '01%' AND is_leaf = 1 AND is_used = 1  )
                 TABLE_A
                where DOMAINID = '" + domainid+"'  " ;

而原来的脚本改造成如下
var domainid = getDomainid();
println("domainid is ===" + domainid);
var sql = "SELECT * FROM (SELECT        group_concat(code_name ORDER BY  c_order SEPARATOR ';'        ) AS ITEM_ZW,'"+domainid+"' AS DOMAINID  ,'APPLICATIONID' AS APPLICATIONID FROM        t_code WHERE  code_id LIKE '01%' AND is_leaf = 1 AND is_used = 1  ) TABLE_A where DOMAINID = '" + domainid+"'  " ;
println("sql is  === " + sql );
var rtn = '';
var datas =queryBySQL(sql);
println("datas======" + datas);
if(datas!=null){
        var iter  =datas.iterator();
        if(iter != null && iter.hasNext())
        {
                 doc = iter.next();
                rtn = doc.getItemValueAsString("ZW");
        }
}   
rtn;      

加上获得domainid的方法,再将方法放在sql中做为一个值传过去,这个不知道是为了什么,感觉挺2的。希望大神给予指导。
回复

使用道具 举报

lana 发表于 2015-5-14 17:37:20 | 显示全部楼层
客户在自己建的表中加入字段domainid后可以了
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 10:00

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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