java - 从 SQL 查询返回结果时 JDBC 中的异常 - 在开始或结果集之前
问题描述
尝试对 MySQL 数据库执行基本查询以检查数据库中是否存在用户。收到结果后,我得到了SQLException
-"Before start of result set"
private static final String IS_EXISTS = "SELECT count(*) FROM `couponDB`.`companies` WHERE email=? AND password=?";
try {
connection = ConnectionPool.getInstance().getConnection();
PreparedStatement statement = connection.prepareStatement(IS_EXISTS);
statement.setString(1, email);
statement.setString(2, password);
ResultSet resultSet = statement.executeQuery();
return (resultSet.getInt(1) > 0);
} catch (InterruptedException | SQLException err) {
System.out.println(err.getMessage());
} finally {
ConnectionPool.getInstance().returnConnection(connection);
}
return false;
这工作正常,但我得到了错误Before start of result set
我知道你需要调用下一个结果resultSet.next()
所以我试过这段代码
private static final String IS_EXISTS = "SELECT * FROM `couponDB`.`companies` WHERE email=? AND password=?";
boolean isExist = false;
try {
connection = ConnectionPool.getInstance().getConnection();
PreparedStatement statement = connection.prepareStatement(IS_EXISTS);
statement.setString(1, email);
statement.setString(2, password);
ResultSet resultSet = statement.executeQuery();
while ( resultSet.next()) {
isExist = resultSet.getObject(1, Boolean.class);
}
} catch (InterruptedException | SQLException err) {
System.out.println(err.getMessage());
}
return isExist;
仍然得到SQLExecption
按摩Before start of result set
解决方案
推荐阅读
- ionic-framework - 离子后退按钮显示不正确
- jquery - jQuery验证与数组同名的多个字段
- python - Mypy:从同名模块导入标准库模块
- python - 如何使用 python-docx 模块读取“.doc”文件
- python - 如何创建自定义 Python 类以在 Pipeline 中使用以删除高度相关的特征?
- node.js - 复制每个类后添加逗号和删除空格cheerio
- r - 尝试通过增加 R 中的时间步长来缩小数据帧的大小
- c# - 用于创建新项目和管道的 Azure DevOps API
- java - 什么可以替代 hashmap,因为它消耗更多内存
- groovy - 查看/编辑当前页面 xWiki