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

求助,关于在脚本中写SQL查询问题,给跪了~

[复制链接]
luhuaayu 发表于 2012-7-18 15:55:49 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2012-7-18 16:34 编辑

总是遇见数据库查询查不出来的问题,请看截图!

这是后台位置(为图2的后台位置)

图1
图中具体脚本如下(此段脚本为打印拼接的“sql2”的具体结果):
var docId = getId();

var sql = "select t.DOMAINID, t.STATE as item_state from tlk_fm_dispatch t where t.ID = '" + docId + "'";
var doc = findBySQL(sql);
var state;

var sql2;
var result;
var size;

if(doc != null)
{
    state = doc.getItemValueAsString("state");

    sql2 = "select *  from t_actorhis where FLOWSTATERT_ID = '" + state + "' and ATTITUDE <> 'NULL' order by PROCESSTIME";
   
}
sql2;


这是在前台打印出的SQL语句

图2

这是把前台打印出的SQL语句在数据库中做查询尝试 - 可以查询出结果集

图3

---------------------------------------------------------------------------------------
问题
把图1中打印"sql2"的脚本换做:
var docId = getId();

var sql = "select t.DOMAINID, t.STATE as item_state from tlk_fm_dispatch t where t.ID = '" + docId + "'";
var doc = findBySQL(sql);
var state;

var sql2;
var result;
var size;

if(doc != null)
{
    state = doc.getItemValueAsString("state");

    sql2 = "select *  from t_actorhis where FLOWSTATERT_ID = '" + state + "' and ATTITUDE <> 'NULL' order by PROCESSTIME";
   
    result = queryBySQL(sql2);
   
    if(result != null && result.size() > 0)
    {
        size = "1";
    }
    else
    {
        size = "0";
    }
}
size;



我想要“result”结果集,可是从目前的情形看是没查询出结果集(图4)! 是不是queryBySQL()用错了,请指教!
结果:

图4

本帖子中包含更多资源

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

×
irene 发表于 2012-7-18 16:07:28 | 显示全部楼层
您好,从您的脚本上看,queryBySQL并没有用错。您用println语句看看doc的值,然后检查if(doc!=null);里面的语句是否有执行。打印语句类似println("tttttt");
回复

使用道具 举报

 楼主| luhuaayu 发表于 2012-7-18 16:12:29 | 显示全部楼层
回复 2# irene


    不好意思 刚我忘记说了 第1个if条件分支那个doc是没问题的  ,  是第2个那个 result 那里的 queryBySQL 好像有问题  请问我该在哪个位置加 println?
回复

使用道具 举报

purple 发表于 2012-7-18 16:13:59 | 显示全部楼层
您是想显示您的结果集?
回复

使用道具 举报

irene 发表于 2012-7-18 16:15:10 | 显示全部楼层
您好,在这一句后面var doc = findBySQL(sql);和result = queryBySQL(sql2);这一句后面。你需要将doc的长度打印出来看看哦
回复

使用道具 举报

 楼主| luhuaayu 发表于 2012-7-18 16:18:26 | 显示全部楼层
回复 2# irene


    你好,按照您的指示我加了2个println:

var docId = getId();

var sql = "select t.DOMAINID, t.STATE as item_state from tlk_fm_dispatch t where t.ID = '" + docId + "'";
var doc = findBySQL(sql);
var state;

var sql2;
var result;
var size;

if(doc != null)
{
    state = doc.getItemValueAsString("state");

    sql2 = "select *  from t_actorhis where FLOWSTATERT_ID = '" + state + "' and ATTITUDE <> 'NULL' order by PROCESSTIME";
   
    println(doc + "``````````````````````````````");

    result = queryBySQL(sql2);
   
    println(result + "``````````````````````````````");

    if(result != null && result.size() > 0)
    {
        size = "1";
    }
    else
    {
        size = "0";
    }
}
size;

我看了下控制台,貌似有错误:
JsUtilocument:null
11e1-885a-0db7aa66-9d83-d50c198c9c9a
state11e1-b84a-28efa49a-af99-a7e6a292ec99
``````````````````````````````
org.mozilla.javascript.WrappedException: Wrapped com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'table_0.DOMAINID' in 'where clause' (baselib#1238)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(Unknown Source)
at org.mozilla.javascript.NativeJavaMethod.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.call2(Unknown Source)
at org.mozilla.javascript.gen.c3401._c75(baselib:1238)
at org.mozilla.javascript.gen.c3401.call(baselib)
at org.mozilla.javascript.optimizer.OptRuntime.callName(Unknown Source)
at org.mozilla.javascript.gen.c4622._c0(Form.fm_dispatch.Field(11e1-b8f7-c2abfe4e-af99-a7e6a292ec99).11e1-b8f7-c2abfe4e-af99-a7e6a292ec99.toHtmlText:19)
at org.mozilla.javascript.gen.c4622.call(Form.fm_dispatch.Field(11e1-b8f7-c2abfe4e-af99-a7e6a292ec99).11e1-b8f7-c2abfe4e-af99-a7e6a292ec99.toHtmlText)
(后面还有就不全部写出来了)
回复

使用道具 举报

purple 发表于 2012-7-18 16:22:17 | 显示全部楼层
错误信息是缺少域id,您需要在sql中加上domainid字段。
回复

使用道具 举报

purple 发表于 2012-7-18 16:24:27 | 显示全部楼层
,不好意思,没注意看,您查询的系统表,不存在domainid,关于系统表不存在domainid的处理方法,请参考帖子:http://www.teemlink.com/bbs/view ... =%CF%B5%CD%B3%B1%ED。有问题,我们再沟通。
回复

使用道具 举报

 楼主| luhuaayu 发表于 2012-7-18 16:28:57 | 显示全部楼层
回复 8# purple


    参考了这个  可以了~  非常感谢
回复

使用道具 举报

purple 发表于 2012-7-18 16:29:57 | 显示全部楼层
回复 9# luhuaayu


    解决了就好,感谢楼主的反馈。
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-13 23:51

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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