java - 如何验证 JDBC 登录名/密码的正确性

标签 java mysql jdbc

我正在创建非常简单的 ATM 机。我有 MySQL 数据库,其中包含以下列:登录 ID、密码、金钱。我想更改我的方法,该方法可以在开始时验证登录名和密码的正确性(并在此之后执行某些操作)。所以如果登录名和密码正确,那么我想收到“登录成功”或“登录不成功”的消息。现在我总是收到“登录成功”的消息。我该如何更改它?

    public static void post () throws Exception{

    Scanner sc = new Scanner(System.in);
    System.out.println ("please enter user id:");
    String userId = sc.nextLine();
    System.out.println("please enter password:");
    String pass = sc.nextLine();
    System.out.println("how much you want to put");
    int money = sc.nextInt();

    try {
        Connection con = ConnectionDB.getConnection();
        String sql = "UPDATE `BankDB`.`Info` SET `Money`= ? WHERE `ClientID`= ? AND `ClientPass` = ?";

        PreparedStatement posted = con.prepareStatement(sql);
        posted.setInt(1, money);
        posted.setString(2, userId);
        posted.setString(3, pass);


        posted.executeUpdate();
        con.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally{
        System.out.println("Login was succesful");
    }
}

最佳答案

如果我对问题的理解是有效的,您需要检查更新命令是否确实更新了数据库中的某些内容。 在这种情况下,您需要从 posted.executeUpdate() 获取结果。如果大于零,则更新数据库中更新的记录,并且用户名/密码正确。

关于java - 如何验证 JDBC 登录名/密码的正确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45222374/

相关文章:

java - 通过 Spring JDBC 流式传输数据,长度未知

java - 这段代码示例中 static 有什么用?

java - 是否有有关开发 tibco 自定义调色板元素的信息?

php - phpmyadmin可以使用pdo_mysql访问mysql吗?

mysql - RDBMS 中有序列表最合适的数据结构?

database - Apache Jmeter JDBC 请求

java - 当内存分析器(MAT)中有许多定义的类和实例数时,这意味着什么?

Java反射: create new instance of interface give java. lang.ClassCastException

php - 如何在 mysql 中创建自动更新时间字段?

Java Time API 从给定年表的 sql 时间戳中获取偏移量