dao方法里面的有if判断语句,但是if判断进不去,不起作用

yxhit 2011-11-18 02:58:09
我的dao里面有个查询方法,代码如下:
public List<HouseBean> searchHouseDesc(String paraValue){
String paraValu=paraValue;
System.out.println(paraValue);
List<HouseBean> list=new ArrayList<HouseBean>();
Connection conn=null;
Statement st =null;
ResultSet rs=null;
String sql="select area_no, house_no,house_desc from bi_global_warehouse_info";
if(paraValu=="YT"){
sql=sql+" where area_no='YT'";
}else if(paraValu =="HF"){
sql=sql+" where area_no='HF'";
}
try {
conn=DBdao.getconn();
st = conn.createStatement();
rs=st.executeQuery(sql);
while(rs.next()){
String area_no=rs.getString("area_no");
String house_no=rs.getString("house_no");
String house_desc=rs.getString("house_desc");
HouseBean bean=new HouseBean(area_no,house_no,house_desc);
list.add(bean);
}
} catch (SQLException e){
e.printStackTrace();
}finally{
DBdao.closeconn(rs, st, conn);
}
return list;
paraValue是我从页面传过来的值,现在通过这个值的来判断调用那个SQL语句,这个值其实是相当于SQL语句的一个查询条件,现在问题是,无论我是传哪个值进来,程序执行的都是外面String sql="select area_no, house_no,house_desc from bi_global_warehouse_info";这条查询所有的SQL,if判断根本没进去,请问是我哪里写错了
...全文
364 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcw52 2011-11-19
  • 打赏
  • 举报
回复
sql语句还能进行判断组装.真是学习了
bcw52 2011-11-19
  • 打赏
  • 举报
回复
怎么可能不进呢.组装的sql语句没有什么问题吧?
yxhit 2011-11-18
  • 打赏
  • 举报
回复
谢谢大家,呵呵,以后小问题要多多注意了
xiaoqiuwyh 2011-11-18
  • 打赏
  • 举报
回复
你用==永远不会为true,字符串比较内容是否一样要用paraValu.equals("YT")
yxhit 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 java_devil 的回复:]
Debug试一试嘛。。。看接受到的paraValu的值是什么
[/Quote]
接受的值是正确的,没问题,就是判断那里进不去,if语句没起到作用
游一游走一走 2011-11-18
  • 打赏
  • 举报
回复
paraValu=="YT" 修改为equals()
曾经的我也犯过这样的错误
绝世酱油瓶 2011-11-18
  • 打赏
  • 举报
回复
Debug试一试嘛。。。看接受到的paraValu的值是什么
LPZLSDJF 2011-11-18
  • 打赏
  • 举报
回复
LZ,你的if判断条件不能用 “==” 的 要用equals()
yxhit 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liukelin 的回复:]
不可能,肯定会进去的。 楼主支持远程调试吗
[/Quote]
额,我也不知道是哪里出的问题,if判断确实进不去,程序执行的是外面的sql语句,我查询出来的东西是所有的,如果if进去了肯定是有条件筛选的
lhjtianji 2011-11-18
  • 打赏
  • 举报
回复
String sql=null;
这样写下试试
liukelin 2011-11-18
  • 打赏
  • 举报
回复
public List<HouseBean> searchHouseDesc(String paraValue){
String paraValu=paraValue;
System.out.println(paraValue);
List<HouseBean> list=new ArrayList<HouseBean>();
Connection conn=null;
Statement st =null;
ResultSet rs=null;
String sql="select area_no, house_no,house_desc from bi_global_warehouse_info";
if(paraValu.equals("YT")){
sql=sql+" where area_no='YT'";
}else if(paraValu.equals("HF")){
sql=sql+" where area_no='HF'";
}
try {
conn=DBdao.getconn();
st = conn.createStatement();
rs=st.executeQuery(sql);
while(rs.next()){
String area_no=rs.getString("area_no");
String house_no=rs.getString("house_no");
String house_desc=rs.getString("house_desc");
HouseBean bean=new HouseBean(area_no,house_no,house_desc);
list.add(bean);
}
} catch (SQLException e){
e.printStackTrace();
}finally{
DBdao.closeconn(rs, st, conn);
}
return list;
liukelin 2011-11-18
  • 打赏
  • 举报
回复
不可能,肯定会进去的。 楼主支持远程调试吗
jc8futao 2011-11-18
  • 打赏
  • 举报
回复
paraValu.equals

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧