遇到这个问题..我确定我遗漏了一些简单的东西,但我只是想要 java mysql select 语句中的 select 语句的结果,但我不断得到:
com.mysql.jdbc.JDBC4ResultSet@1c190c99
这是我的代码:
PreparedStatement Findstatement;
Findstatement = con.prepareStatement("SELECT Code from DataMaster where DataName= (?) ");
Findstatement.setString(1, Name); // I have a variable in my file named 'Name'
ResultSet CodeAll = Findstatement.executeQuery();
System.out.println(CodeAll);
我试过 int fundCode = fundCodeAll.getInt(1);在声明的末尾,但仍然没有运气。如何从 select 语句中获取结果的 int 值?
最佳答案
您需要通过 ResultSet#next()
遍历 ResultSet
,然后通过任何 ResultSet
getter 获取列值。
resultSet = statement.executeQuery();
while (resultSet.next()) {
int code = resultSet.getInt("Code");
// ...
}
如果有零个或多个结果,那么您可以将它们收集在一个列表
中。
List<Integer> codes = new ArrayList<Integer>();
// ...
resultSet = statement.executeQuery();
while (resultSet.next()) {
codes.add(resultSet.getInt("Code"));
}
// ...
或者如果有零个或一个结果,则将 while
替换为 if
。
int code = 0;
// ...
resultSet = statement.executeQuery();
if (resultSet.next()) {
code = resultSet.getInt("Code");
}
// ...
另见:
无关具体问题请关注Java naming conventions .
关于java - 从java中的mysql select语句中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795507/