Java 循环一段时间
我有一个sql查询来选择数据整数 我想对这个数据做一个测试,我用数字10测试列中的数据 如果我在列中有10,那么请转到10-- 我做了一段时间的循环 结果是正确的,但重复了很多次 这是我的密码Java 循环一段时间,java,sql,Java,Sql,我有一个sql查询来选择数据整数 我想对这个数据做一个测试,我用数字10测试列中的数据 如果我在列中有10,那么请转到10-- 我做了一段时间的循环 结果是正确的,但重复了很多次 这是我的密码 int vl=10; boolean found = false; try { if (jComboBox6.getSelectedIndex()>-1){ conn = DriverManager.getConnection("jdbc:mysql://localhost:
int vl=10;
boolean found = false;
try {
if (jComboBox6.getSelectedIndex()>-1){
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+getdb(), "", "");
stmt = conn.createStatement();
ResultSet res=stmt.executeQuery( "SELECT VLAN FROM tt ");
while(res.next()) {
for(vl=10;vl>1;vl--) {
if(Integer.parseInt(res.getString(1))==vl) {
System.out.print(vl);
found = true;
break;
}
if (!found) {
System.out.print("NO");
//found = false;
break;
}
}
}
res.close();
}
conn.close();
} catch (SQLException ex) {
Logger.getLogger(Etat_lieu.class.getName()).log(Level.SEVERE, null, ex);
}
系统输出打印(“否”)
每次for循环中没有匹配项时,都会打印这一行。更新 让我们把问题简化一下
boolean found = false;
while(res.next()) {
int value = Integer.parseInt(res.getString(1));
if (value == 10) {
System.out.print(value);
found = true;
}
[..do something else..]
}
if(!found) {
System.out.print("NO");
}
我认为不值得为简单的范围检查设置一个内部循环。所以。。。如果结果是正确的,问题是什么?他重复了“否多次”是的,并且列中不存在的数据只有10,所以必须打印10次“否多次”times@jack:您有一个外部while循环用于显示结果数。如果有10个结果,并且for循环中没有匹配项,那么将打印100个“否”,希望这有帮助,如果您想跳过它,您可以按照其他人给出的建议进行操作。好的,我理解,但是我如何解决这一问题,即使我使用“do while”,它也没有给出任何结果,否则我将不使用布尔值?OUTER:while(res.next()){for(vl=10;vl>1;vl--){if(Integer.parseInt(res.getString(1))==vl){System.out.print(vl);break OUTER;}}if(find)System.out.print(“No”);break OUTER;}@Jack在你的评论中你忘记了
if(find){System.out.print(“No”);break OUTER;}OUTER;}
-所以您在第一次迭代时就跳了。哦,很抱歉,我尝试使用“”来表示您在注释格式中所说的代码。我意识到您试图解决的问题以及解决方法。前面的代码不起作用,但这一个会起作用。