我有一个返回字符串值的查询,我的查询是
选择情况当(从packing_spec_uses_pack p,style_pack sp中选择计数(不同的style_packing_spec_id),其中sp.style_pack_id = p.style_pack_id和sp.style_id = 1701)!=(从style_packing_spec中选择计数(不同的style_packing_spec_id),其中style_id = 1701) then 'DonotProceed' else 'Proceed' end "; 结果如下
?case?
----------
DonotProceed
如何在java中执行这个,如何处理这个结果集,我尝试过这样
String sql="query";
ResultSet rs=stmt.executeQuery(sql);
它返回空指针异常 String str=rs.getString(1);
最佳答案
我从来没有从查询中返回过 boolean 值(Oracle 不这样做...),但我认为它可以工作。您只需转到结果集的第一行,列索引从 1(而不是 0)开始。
ResultSet rs=stmt.executeQuery(sql);
try{
rs.next(); // move to the first row
return rs.getBoolean(1); // first column is 1
}
finally{
rs.close();
}
更新:
It shows type mismatch error cannot convert from boolean to Boolean
您使用的是 Java 1.4 吗?对于 Java5 及更高版本,这应该通过自动装箱来解决。但您也可以通过使用原始 boolean 变量来匹配 JDBC 返回的内容来修复它:
boolean str = rs.getBoolean(1); // I question the variable name, though
关于java - 在java中处理 boolean 结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3801122/