CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Eclipse

求助,一个java取值的问题,怎么都看不出来毛病,在线等

楼主shan__le(写累了,不想动了~~)2006-03-10 09:46:12 在 Java / Eclipse 提问

代码如下:  
  SQLCommand   sqlbean=new   SQLCommand();  
  String   sql="   select   *   from   users   ";  
  if   (request.getParameter("findcondition")   !=   null   &&   !request.getParameter"findcondition").equals(""))  
  {  
  sql   =   CommFunc.encode(request.getParameter("findcondition"));  
  }  
   
   
  System.out.println(sql);  
  页面传递是这样的:  
  http://localhost:8080/newjn/users/find.do?findcondition=users_name%20like%20'%张%'  
  问题是每次我取得都是   select   *   from   users    
  怎么都不能取得带查询条件的值,奇怪死了  
  希望能解答一下 问题点数:100、回复次数:15Top

1 楼yingtju(蚂蚁)回复于 2006-03-10 10:01:22 得分 10

你可以打印一下那个参数,可能是编码问题,可以试试英文行吗  
  最好吧sql语句能打印出来不就知道怎么回事了吗Top

2 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 10:05:38 得分 0

怎么取值都是null,或者用其他什么方式可以取道吗?Top

3 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 10:07:07 得分 0

哦,是换成ABC就能取到了,有什么方法能取道一个sql语句呢?Top

4 楼doway(john)回复于 2006-03-10 10:12:07 得分 70

String   sql="   select   *   from   users   ";  
  String   wh   =   request.getParameter("findcondition");  
  if   (wh   !=   null   &&   wh.trim().length()>0)  
  {  
      sql   +=   "   where   "+   wh;  
  }  
  Top

5 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 10:17:56 得分 0

楼上的老大,不行,出来的还是   select   *   from   users   这个值,后面的更本没有取到  
  正确的是users_name   like   '%张%&#39  
  不过最后多了一个;有影响没有?Top

6 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 10:18:31 得分 0

但是取的时候没有啊,我alert打印出来都能看到的,是正确地啊?Top

7 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 10:42:18 得分 0

或者怎么修改一下,能够变成submit事件,然后提交过去?我从后台取得?  
  代码如下:  
  function   goFind()  
  {  
  alert(document.all("sqlcondition").value);  
  openNewWindow("<%=request.getContextPath()%>/users/find.do?sqlcondition="+document.all("sqlcondition").value,600,550);  
  //openNewWindow("<%=request.getContextPath()%>/users/find.do?findcondition=abc",600,550);  
   
  }Top

8 楼doway(john)回复于 2006-03-10 11:06:50 得分 0

在   IE   地址栏中直接输入   URL   的话是不会错的,客户端脚本问题。  
  Top

9 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 11:14:04 得分 0

好像是多空格问题  
  openNewWindow("<%=request.getContextPath()%>/users/find.do?findcondition="+document.all("sqlcondition").value,600,550);  
  //openNewWindow("<%=request.getContextPath()%>/users/find.do?findcondition=abc",600,550);  
  后面的写法就可以取道,前面的就不行!取得是null,老大,这个是怎么回事啊?  
  求助求助,工程的最后一点了,关键啊Top

10 楼xiongxa(熊熊无量)回复于 2006-03-10 11:42:51 得分 20

SQL文定义可以按如下方式写:  
  String   sql="   select   *   from   users   where   users_name   =   ";  
  参数传递时分两种情况:  
    1.有条件时   :findcondition='%张%'  
    2.无条件时   :findcondition='%'               (代表所有的)  
   
  JSP页面用以下方法取数时,打印出WH,确保它有数.  
      String   wh   =   request.getParameter("findcondition");  
   
  然后按以下方法加入到SQL变量中  
   
  if   (wh   !=   null   &&   wh.trim().length()>0)  
  {  
      sql   +=   wh;  
  }Top

11 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 12:54:15 得分 0

to   xiongxa(熊熊无量)  
  这样是不会进入if判断内的,也就是说,前面取值也是一个NULL的值,但是如果不带空格,也就是%,那么就是正常取值,有建议   这样来取的  
  String   findcondition   =   new   String(request.getParameter("findcondition").toString().getBytes("ISO8859_1"),   "GB2312");  
  但是出错,我是刚接触java时间不长,反正感觉java的字符串特别烦人,经常出现类型不对的问题。Top

12 楼xiongxa(熊熊无量)回复于 2006-03-10 13:44:35 得分 0

页面传递是这样的:  
  http://localhost:8080/newjn/users/find.do?findcondition=%张%'  
  不要有空格  
   
  String   wh   =   request.getParameter("findcondition");  
  改写成:  
  String   wh   =   null;  
  wh   =   request.getParameter("findcondition");  
  System.out.print("===:"+wh);   (打印看一下,能不能打出"%张%"   [引号内文字]   )  
  如果打印出来说明正确,再用IF判断.  
  还有,本身的参数传递时一定是有值的,就可以不用判断了.  
   
   
   
   
  Top

13 楼xiongxa(熊熊无量)回复于 2006-03-10 13:46:33 得分 0

上面的接收参数,之后让来连接SQL文,让SQL有WHERE有条件,是完全没有问题的.  
  好好试一下了.Top

14 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 14:20:39 得分 0

to   xiongxa(熊熊无量)   (   )    
  你理解错了,这个参数不是我控制的,而是通过一个通用查询过来的,不可能把空格去掉  
  这个%%也是java自动给的,直接在本页面alert这个文本矿的内容是没错,但是作为参数传递就不对,那么我想有没有提交的方式可以取得?但是页面又是标签生成的,也比较麻烦,不知道怎么解决好了Top

15 楼shan__le(写累了,不想动了~~)回复于 2006-03-10 14:37:10 得分 0

唉,搞不定啊,为什么java这么麻烦呢?Top

相关问题

  • 求助数据库取值????在线等
  • 如何取值,再线等待!!!!
  • 对象取值问题 在线
  • 复选框取值问题... 在线等
  • 如何在msflexgrid中取值,急,在线
  • 关于取值问题(在线等待)
  • 取值?
  • 取值
  • 在Java中用DOM在XML中取值遇到的问题
  • 如何根据条件自动取值?[在线等待中.....]

关键词

  • 页面
  • 打印
  • document
  • sql
  • null
  • findcondition
  • 取值
  • opennewwindow
  • sqlcondition
  • wh

得分解答快速导航

  • 帖主:shan__le
  • yingtju
  • doway
  • xiongxa

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo