"Conta não existente"

6 respostas
G

Eu criei um sistema para s elogar, mas mesmo assim quando registro uma nova conta, e tento inseri-la para me logar, o sistema não reconhece! (SERIA TEMPO DE ESPERA PARA O SERVIDOR PROCESSAR TAL INFORMAÇÃO?)

Meu código:

public void checkUserInfo() {
        Main game = new Main();

        userT = userText.getText();
        passT = passText.getText();

        try {

            Class.forName(driver);
            conn = (Connection) DriverManager.getConnection(url, user, pass);
            Statement stmt = (Statement) conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT userId, userPass FROM users");

            while (rs.next()) {
                String userId = rs.getString("userId");
                String userPass = rs.getString("userPass");

                if(userId.equals(userT) && userPass.equals(passT)) {
                    game.initTheGame();
                    frame.dispose();
                }

                else if(!userId.equals(userT)) {
                    JOptionPane.showMessageDialog(frame,
                    "Conta não existente.",
                    "Erro ao tentar se conectar.",
                    JOptionPane.ERROR_MESSAGE);
                    break;
                }

                else if(userId.equals(userT) && !userPass.equals(passT)) {
                    JOptionPane.showMessageDialog(frame,
                    "Senha incorreta.",
                    "Erro ao tentar se conectar.",
                    JOptionPane.ERROR_MESSAGE);
                    break;
                }
            }

        } catch(Exception e) {
            System.out.println("Não foi possível estabelecer uma Conexão com o banco de dados.");
        }
    }
}

6 Respostas

zoren

Os dados que vc digita existem no banco??

G

Sim, existem! As contas recém registradas parecem não serem encontradas no banco de dados, mesmo o Navicat estar dizendo que esses valores existem na tabela! Quando abro minha tabela aparece uma mensagem, não sei se faz alguma diferença, mas vou postar aqui:

G

Ajuda?

E

Ajudaria se você soubesse usar a cláusula WHERE. Algo como:

select count(*) as nUsuarios from users where userId = ‘joao’ and userPass = ‘senha’

Então você vê se o valor de nUsuarios é 0 (não achou) ou 1 (achou) um usuário com essa senha.

G

entanglement, como eu armazenaria o nUsuarios em uma variável de instância para eu manipula-la?

M

Usando ResultSet.nextInt (lembre-se, o nUsuarios faz parte do retorno da consulta feita).

Criado 8 de fevereiro de 2010
Ultima resposta 9 de fev. de 2010
Respostas 6
Participantes 4