我正在编写一个非常简单的查询。但我找不到错误。这是代码:
con = DBConnect.connect();
try {
PreparedStatement query = (PreparedStatement) con.prepareStatement("SELECT * FROM accounts where iban=?");
query.setString(1, iban);
ResultSet result = (ResultSet) query.executeQuery();
double oldBalance;
} catch (SQLException e) {
System.out.println(e);
}
我确信表的名称是帐户,并且存在一个名为ichar的varchar类型的列。我调试了,所以我确信query.setString(1, iban);
行正确设置了iban。
但是当涉及到行ResultSet result = (ResultSet) query.executeQuery();
时,它会突然跳到最后一行,其中包含“}”。它甚至没有进入catch块,所以我看不出问题。
有什么问题可以告诉我吗?
由于
编辑:查询成功执行。现在在executequery行之后我就这样做了:
double oldBalance=result.getDouble("iban");
这给了我一个错误:
java.sql.SQLException: Before start of result set
有谁能告诉我这里的问题?
答案 0 :(得分:1)
当您调试代码时,一旦您处于ResultSet result = (ResultSet) query.executeQuery();
行,因为在try
块之后没有其他任何内容,如果您进入下一步,它将会跳到街区的尽头。
因此,您的查询可能实际上工作正常,您只需要在块中执行某些操作,因为您在块中分配了ResultSet
。
修改:检查此answer是否存在其他问题。