Java初学者的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:17:02
//这是我写的一个方法,验证数据库是否有方法中的参数
public boolean equalsTrainNo(String TrainNo)
conn = sc.setConnection();
try {
prst = conn.prepareStatement
("select TrainNo from TrainTicket");
rset = prst.executeQuery();
while (rset.next()) {
if(TrainNo.equals((String)rset.getString(1))//=true)
break;
else
return false;
}
rset.close();
prst.close();
conn.close();
return true;
}catch (SQLException ex){
return false;
}
为什么每次运行都会返回flase ? 怎样才能返回while里的真假值呢
试过用一个boolean型变量也不行..
下面我用另一个方法做还是不行:
public boolean TrainNos(String TrainNo){
ArrayList list = new ArrayList();
conn = sc.setConnection();
try {
prst = conn.prepareStatement
("select TrainNo from TrainTicket");
rset =

if(TrainNo.equals((String)rset.getString(1))//=true)
break;
else
return false;

如果数据库查询出来的第一个值,不是true的话,那么就会执行
return false;
直接跳出方法了,后面的都不执行,
就算第二个为true,那么也是false。

嘿嘿,后面的不行,就可能有问题了,你确定你传入的参数数据库一定存在么?
那是不是空白字符引起的?
return list.contains(TrainNo.trim());

用你的集成开发环境来调试