当前位置: 首页 > 知识库问答 >
问题:

检查java DataBase中的用户名和密码,如果为false,则给出错误的密码消息

祁景山
2023-03-14

我想显示错误的用户名

问题是它会对每一行执行if fe语句,直到它到达显示“用户名和密码正确”的右侧行b4,但我希望它检查所有内容,如果它不存在,则显示“请检查用户名和密码”

注意:请忽略命名约定,问题出在安排的同时,如果和任何其他推荐的循环语句,但我不确定如何组织它以获得我想要的结果

这是我的代码与注释

 public void displayUsers(String f, String s) {
        try {
            String queryString = "SELECT SName, SPwd FROM staff";
            ResultSet results = Statement.executeQuery(queryString);

            while (results.next()) {
            String staffname = results.getString("snameeee");
            String password =  results.getString("SPwd");

               if ((f.equals(staffname)) && (s.equals(password))) {

                  JOptionPane.showMessageDialog(null, "Username and Password exist");  
            }else {

             //JOptionPane.showMessageDialog(null, "Please Check Username and Password ");
            }
            results.close();
        } catch (SQLException sql) {

            out.println(sql);
        }

共有3个答案

解阳泽
2023-03-14

使用标志,您可以轻松解决此问题。喜欢这个。。

public void displayUsers(String f, String s) {
    boolean flag = false;
    try {
        String queryString = "SELECT SName, SPwd FROM staff";
        ResultSet results = Statement.executeQuery(queryString);

        while (results.next()) {
        String staffname = results.getString("SName");
        String password =  results.getString("SPwd");

           if ((f.equals(staffname)) && (s.equals(password))) {
              flag = true;
              JOptionPane.showMessageDialog(null, "Username and Password exist");  
        } 
        results.close();
        if(!flag){
               JOptionPane.showMessageDialog(null, "Please Check Username and Password ");
        }
    } catch (SQLException sql) {

        out.println(sql);
    }
杜凯
2023-03-14

首先,不要以纯文本形式存储密码。其次,加载所有记录是非常错误的做法。

   public void displayUsers(String f, String s) {
    try {
        String queryString = "SELECT * FROM staff where SName=? and SPwd=?";
        //set this values using PreparedStatement
        ResultSet results = ps.executeQuery(queryString); //where ps is Object of PreparedStatement

        if(!results.next()) {

              JOptionPane.showMessageDialog("Wrong Username and Password.");  
        }

    } catch (SQLException sql) {

        out.println(sql);
    }finally{
      //closing ResultSet,PreparedStatement and Connection object
    }
燕扬
2023-03-14

不,你所做的是错误的。

加载所有记录并不是检查凭据的好方法。

用户名参数传递到查询并签入数据库。

1)如果没有用户存在,则告诉用户不存在。

2)如果用户存在,则使用现有的数据库用户密码检查密码。

 类似资料:
  • 我正在使用以下代码创建一个加密的PDF文件: 我省略了创建单元格和表格的代码,以及创建可以在其中输入firstname、lastname等值的表单的代码。 然后我这样操作表单。

  • 我有麻烦管理詹金斯的秘密密码。我希望密码不显示在日志上,但我尝试了两种方法没有成功: 第一次尝试 我尝试使用全局凭据(不受限制)设置用户和pwd,如下所示: 我执行了: 但我可以在日志中看到,用户的写入是正确的,但pwd的写入方式与它的路径相同: 在我的自动测试中,也是通过输入完整路径而不是变量的值。 第二次尝试 我试着用这样的密文: 但控制台日志上显示的是原样的密码。 有人能帮我吗? 先谢谢你。

  • 我找不到如何将用户名和密码传递给KafkaConsumer。我使用SASL明文对Kafka服务器上的客户端进行身份验证。 我试图在上找到此信息https://kafka.apache.org/documentation/#consumerconfigs但结果是否定的。 我发现了一些作者使用参数“用户名”和“密码”的例子。我试图这样做: 但我得到了例外"未能构建Kafka消费者"。 如果有人知道如何

  • 本文向大家介绍python base64库给用户名或密码加密的流程,包括了python base64库给用户名或密码加密的流程的使用技巧和注意事项,需要的朋友参考一下 给明文密码加密的流程: 运行结果: b'dGhpcyBpcyBhIHNjcmV0IQ==' this is a scret! Process finished with exit code 0 则在代码中的调用方式是: 这样做的好处

  • 用户名和密码的来源 在章节中,用户详细信息保存在用户文件中。 FreeRADIUS使用此文件的内容以在身份验证过程中验证凭据。 FreeRADIUS通常是企业基础设施的一部分,而企业已经在其他地方创建了已有用户。 本章将介绍如何使用现有的用户存储。 在本章中,我们将: 查看用户商店选项 使用Linux系统用户作为FreeRADIUS的用户存储 使用MySQL作为FreeRADIUS的用户存储 使用

  • 问题内容: 当我转到mydomain.com:8080时,默认情况下没有授权机制。我看过配置区域,但是找不到任何地方来添加基本的用户名和密码 问题答案: 转到 管理Jenkins >配置全局安全性,_然后选择 _启用安全性 复选框。 对于基本的用户名/密码认证,我会建议选择 詹金斯自己的用户数据库 在安全领域,然后选择 登录用户可以做任何事情 的或基于矩阵策略(在当你有多个用户以不同的权限的情况下