一个关于调用数据库的问题
代码如下:
String sql = "SELECT * FROM Process_condition WHERE (process_length = (SELECT MAX(process_length) AS process_length FROM Process_condition WHERE aggregate_name = 'S1 ')) AND (aggregate_name = 'S1 ') and (process_length <> 0) ORDER BY process_id ";
String ok = db.executeMe(sql);
if(db.rs.next()==false){
System.out.println( "规则一无法选择 ");
}
else{
while(db.rs.next()){
process_id = db.rs.getInt( "process_id ");
System.out.println( "规则一选择的是 "+process_id);
}
}
问题是,我的本意是如果查不到数据,打印“规则无法选择”,否则就进入while,进行数据库的查询。
但是现在这样子,也没有打印,也没有查数据库。。。。请指点,谢谢
------解决方案--------------------查出来只有一条记录。你先在if中调用了rs.next()到最后一条记录了,然后又再while中就不进入循环了。结果就是都不打印。
------解决方案--------------------LS正解
if(db.rs.next()==false){
System.out.println( "规则一无法选择 ");
}
else{
do{
process_id = db.rs.getInt( "process_id ");
System.out.println( "规则一选择的是 "+process_id); //这里改下就可以了
}
while(db.rs.next());