java - 比较 SQL 查询的值

标签 java sql if-statement comparison

需要比较我的 SQL 查询中获得的值,但要比较的属性有 N 个结果,分别是:“Administrador”、“Financeiro”和“Operacional”。本来是要运行下面代码中的 IF,但我做了一些错误的比较并运行了 ELSE。

public void Logar(){

    String sql = "Select usuario_login, senha_login, nome_login, nivelAcesso from nivelAcessoSistema natural join login group by nivelAcesso having usuario_login = ? and senha_login = ?";

    try{

        pst = con.prepareStatement(sql); 

        pst.setString(1, txtUsuario.getText()); //Campo do usuário
        pst.setString(2, txtSenha.getText()); //Campo da senha

        rs = pst.executeQuery(); 

        if(rs.next()){ //Se existe registro no banco de dados com os dados informados na tela de login...

            String nivelAcesso = rs.getString("nivelAcesso"); //Comparando valor de atríbuto "nivelAcesso" do banco de dados

            if(nivelAcesso.equals("Administrador") && nivelAcesso.equals("Financeiro") && nivelAcesso.equals("Operacional")){

                JOptionPane.showMessageDialog(null, "OK");
            }

            else{
            JOptionPane.showMessageDialog(null, "Wrong");
            }

我希望你能在这方面帮助我。

谢谢。

最佳答案

问题出在这里:

     if(nivelAcesso.equals("Administrador") && nivelAcesso.equals("Financeiro")
 && nivelAcesso.equals("Operacional"))

nivelAcesso 不能同时等于所有这些值。将此行更改为:

     if(nivelAcesso.equals("Administrador") || nivelAcesso.equals("Financeiro") 
|| nivelAcesso.equals("Operacional"))

有关逻辑比较的更多信息,请阅读以下内容:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html

关于java - 比较 SQL 查询的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27547809/

相关文章:

mysql - 除了其中一个之外,如何按时间戳对结果进行排序?

mysql - 添加新列并替换 NULL 值

c - 水的状态(温度程序)- C 编程

java - 在android中将字节数组转换为Base64字符串

java - Weblogic 和递归 JSP 标记

mysql - 将前导零添加到 MySQL 中的值

php - 如何执行具有多个条件的通用代码

java - Java : Variable is already defined in method main

java - 使用可绘制资源为微调器中的项目设置背景 - java android studio

java - 如何在Java中为父类设置计数器而不让子类访问计数器?