兄弟们帮忙看看以下IF查询代码错在哪里,找了很久不知道,只要有一条件为空就一个都查不到

ninewin 2005-03-24 09:00:22

,只要有一条件为空就一个都查不到,只有第一个IF语句起作用, if ((rcode=="") && (customer_name!="")) 和
if ((rcode!="") && (customer_name=="")) 都不起作用,查出来的是空白。当两个条件都有时才能查出来


package com.ord;

import java.sql.*;
import java.util.*;
import java.io.*;

/**
*ProductBean包含和Product表相关的操作
*/
public class TaBean
{
private Connection con;
private String strs;

//构造方法,获得数据库的连接。
public TaBean()
{
this.con=DataBaseConnection.getConnection();
}
/**
*搜索所有的商品信息。
*返回由Product值对象组成的Collection
*/
public Collection getTaByRcode(String rcode,String customer_name)throws Exception
{

strs="";
Statement stmt=con.createStatement();

if ((rcode!="") && (customer_name!=""))
{

strs="select * from ta1 where rcode='"+rcode+"' and customer_name='"+customer_name+"'";
}
else
if ((rcode=="") && (customer_name!=""))
{

strs="select * from ta1 where customer_name='"+customer_name+"'";
}
else

{

strs="select * from ta1 where rcode='"+rcode+"'";
}

}
...全文
188 点赞 收藏 6
写回复
6 条回复
dabo1980 2005年03月24日
逻辑思维和语法错误。看来你以前没做过程序, totyulvxl(sun) 已经提供了参考。建议你多看看基础的书籍和程序,这类问题以后就好解决了!
回复 点赞
gaochao79 2005年03月24日
同意 totyulvxl(sun) ( ) 信誉:99
回复 点赞
totyulvxl 2005年03月24日
if ((rcode!="") && (customer_name!="")) 改成 if (("".equals(rcode)) && ((!"".equals(customer_name))

问题就解决了
回复 点赞
DreamDragon_NEU 2005年03月24日
rcode和customer_name是怎么获得的??
如果为空的话建议首先判断 是否为null,否则可能由于空指针异常导致出错~~~
回复 点赞
ninewin 2005年03月24日
这样改了连编译都不通过了,提示{
}这个不合法
回复 点赞
ninewin 2005年03月24日
我改成这样还是不行
strs="";
Statement stmt=con.createStatement();

if (("".equals(rcode)) && (("".equals(customer_name))
{

strs="select * from ta1 where rcode='"+rcode+"' and customer_name='"+customer_name+"'";
}
else
if (("".equals(rcode)) && ((!"".equals(customer_name))
{

strs="select * from ta1 where customer_name='"+customer_name+"'";
}
else

strs="select * from ta1 where rcode='"+rcode+"'";

回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告