我的同事传给我一些代码,当我运行代码时会出现问题.这是它的一部分
boolean purchased = false;
conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
stmt = conn.createStatement();
String sql = new StringBuilder().... // some query
rs = stmt.executeQuery(sql);
while (rs.next()) {
//some code
purchased = rs.getInt("purchased") == 1;
print(" purchased:" + purchased);
}
Run Code Online (Sandbox Code Playgroud)
这总是打印购买为假.我改变了这个部分:
while (rs.next()) {
//some code
if(rs.getInt("purchased") == 1) purchased = true;
print(" purchased:" + purchased);
}
Run Code Online (Sandbox Code Playgroud)
现在它完美无缺.
注意: 我的ResultSet只能有1条记录.并且在购买的 DB中是位类型,因此不能有除0/1之外的其他值.
这两种写作方式有什么区别?我知道两者应该以同样的方式工作.