天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

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

仍然是关于SQL视图的问题

[复制链接]
hbbs2012 发表于 2012-3-27 16:16:13 | 显示全部楼层 |阅读模式
本帖最后由 hbbs2012 于 2012-3-28 09:21 编辑

var sql = "1=1 ";
if (getItemValue("bjdm0000")!=null &&  getItemValue("bjdm0000").trim().length()>0){
   sql = " and ITEM_bjdm0000= ' " +getItemValue("bjdm0000")+ " ' ";
}

if (getItemValue("bjmch000")!=null &&  getItemValue("bjmch000").trim().length()>0){
   sql = " and ITEM_bjmch000= ' " +getItemValue("bjmch000")+" ' ";
}


"SELECT bjdm0000 as  ITEM_bjdm0000,bjmch000 as  ITEM_bjmch000,id,domainid  FROM tlk_fm_bjfj_design  where   '+sql+'  order by bjdm0000";

bjdm0000和bjmch000分别是我定义的表单里两个单行文本名称,而这两个也是我定义的tlk_fm_bjfj_design  表里的字段名。我想问一下,我写的语句有问题吗?一运行就报错:
ORA-00920: invalid relational operator   

无效的关系运算符。
我这都是按照你们网站上的在线学堂里演示的录入进去的,实在不知道哪个关系运算符打错了?
irene 发表于 2012-3-27 16:30:07 | 显示全部楼层
您好,您先将sql查询语句打印出来,操作如下
  1. var rtn="SELECT bjdm0000 as  ITEM_bjdm0000,bjmch000 as  ITEM_bjmch000,id,domainid  FROM tlk_fm_bjfj_design  where   '+sql+'  order by bjdm0000";
  2. println("==================="+rtn);
  3. rtn;
复制代码
然后将您打印出来的语句(就是等号后面的那一长串)复制到您的数据库客户端里面进行查询,看能不能查出记录,您先试试,我们再沟通
 楼主| hbbs2012 发表于 2012-3-28 08:45:01 | 显示全部楼层
不好意思啊,我不太明白,这段话要复制到哪里去执行?是定时任务吗?
在控制台打印出来?
purple 发表于 2012-3-28 08:54:25 | 显示全部楼层
打印语句,不需要复制到定时任务,直接加在您的sql语句下面,然后使用debug模式即可。您目前的问题,从您的最后sql拼接,类似与“sql = " and ITEM_bjmch000= ' " +getItemValue("bjmch000")+" ' ";
”这个语句的都需要替换成“sql+=" and ITEM_bjmch000= ' " +getItemValue("bjmch000")+" ' ";
”。
 楼主| hbbs2012 发表于 2012-3-28 09:21:12 | 显示全部楼层
谢谢哈,不用打印了,我找了一个来我们公司做项目的JAVA高手帮我解决了~~
linner 发表于 2012-3-28 09:22:39 | 显示全部楼层
本帖最后由 linner 于 2012-3-28 09:23 编辑

按你那样写,如果不输入查询条件是可以,一旦输入查询条件就报错了。把if语句里面的sql = 改成 sql +=。
purple 发表于 2012-3-28 09:58:19 | 显示全部楼层
您好,那方便共享一下吗?
 楼主| hbbs2012 发表于 2012-3-28 15:24:52 | 显示全部楼层
呃,他是这样改的:
1.像你说的那样,在所有的SQL=中间加上+;
2.把所有单引号和双引号中间的空格全部去掉;
3.最后那句查询语句中的  '+sql+'  改成  "+sql+"。

不知道到底是哪个改的起了作用,我没有再一个一个重新试,反正现在是可以查询出数据来了。

本版积分规则

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

GMT+8, 2026-8-12 23:12

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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