如何从MySQL检测空的ResultSet?

如何从MySQL检测空的ResultSet?,第1张

如何从MySQL检测空的ResultSet?

只需检查是否

ResultSet#next()
返回true。例如

public boolean exist(String username, String password) throws SQLException {    Connection connection = null;    PreparedStatement statement = null;    ResultSet resultSet = null;    boolean exist = false;    try {        connection = database.getConnection();        statement = connection.prepareStatement("SELECt id FROM user WHERe username = ? AND password = MD5(?)");        statement.setString(1, username);        statement.setString(2, password);        resultSet = statement.executeQuery();        exist = resultSet.next();    } finally {        close(resultSet, statement, connection);    }    return exist;}

您可以如下使用

if (userDAO.exist(username, password)) {    // Proceed with login?} else {    // Show error?}

另外,您也可以让它返回一个完全错误消息

User
或者
null
如果没有,则返回完全错误消息。例如

public User find(String username, String password) throws SQLException {    Connection connection = null;    PreparedStatement statement = null;    ResultSet resultSet = null;    User user = null;    try {        connection = database.getConnection();        statement = connection.prepareStatement("SELECt id, username, email, dateOfBirth FROM user WHERe username = ? AND password = MD5(?)");        statement.setString(1, username);        statement.setString(2, password);        resultSet = statement.executeQuery();        if (resultSet.next()) { user = new User(     resultSet.getLong("id"),     resultSet.getString("username"),     resultSet.getString("email"),     resultSet.getDate("dateOfBirth"));        }    } finally {        close(resultSet, statement, connection);    }    return user;}

User user = userDAO.find(username, password);if (user != null) {    // Proceed with login?} else {    // Show error?}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5506311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存