Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendeteksi ResultSet kosong dari MySQL?

Cukup periksa apakah ResultSet#next() kembali benar. Mis.

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;
}

yang dapat Anda gunakan seperti berikut

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

Atau, Anda juga dapat membiarkannya mengembalikan User yang lengkap atau null jika tidak ada. Mis.

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;
}

dengan

User user = userDAO.find(username, password);

if (user != null) {
    // Proceed with login?
} else {
    // Show error?
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Waktu yang berlalu dari waktu tertentu dalam database

  2. bagaimana cara mengatur tag nilai yang dipilih <select> html dari database di php?

  3. rekonsiliasi zona waktu dengan SQL

  4. Bagaimana cara menetapkan MySQL sebagai database default di Rails 3?

  5. kueri PDO singkatan