Pegando o resultado do Select e comparando com variável
13 respostasResolvido
java
Alyesson
Olá,
Tenho o código abaixo:
nome=usuario_portaria.getText();conecta_portaria=newConexaoBD();conecta_portaria.conecta();Stringsql="Select * from usuário_port where usuario like '"+usuario_portaria.getText()+"' and administrador like 'Sim'";conecta_portaria.executeSQL(sql);try{if(conecta_portaria.resultset.next()){modulo_portaria.setText("Módulo Portaria Administrador");}else{modulo_portaria.setText("Módulo Portaria Usuário");}}catch(SQLExceptionerro){}
Eu quero pego o resultado do meu “conecta_portaria.executeSQL(sql)” e comparar com a variável nome, que é do tipo String.
Porque se o resultado bater como que ta no meu nome = usuario_portaria.getText() ele abre a tela de administrador, se não bater ele abre a tela do usuário…
....try{......Stringx=conecta_portaria.resultset.getString("nome_da_coluna");if(nome.equals(x)){//entra no sistema}else{//n entra}
Só uma dúvida:
Você está conectando com o módulo guarita da Linear HCS?
Alyesson
Não funciona esse modelo que passou, eu tinha tentado isso antes tmbm, dessa forma. Não sei o que seria guarita Linear HCS.
rodriguesabner
mas nao funcionou pq deu erro? qual o motivo?
Alyesson
o TextFiled usuario_portaria.getText() não mostra nada, fica em branco.
Qual é a lógica? Eu tenho um tabela onde tenho meus usuários, e lá tem uma coluna chamada “administrador” que é preenchida com “Sim” ou “Não”. Quando o usuário logar vai aparecer o nome dele no campo “usuário conectado”, esse método que coloquei a cima, ele vai pegar o nome do usuário, verificar pelo SQL se ele é um usuário Admin, se for ai ele vai exibir os campos de Admin e mostrar como “módulo portaria Administrador”, se não for "vai mostrar como “Módulo usuário”
rodriguesabner
Ahhhhhh, vc primeiro tem que passar a String do usuário na tela de Menu.
Login ->
usuario
senha
Menu ->
recebe usuario do Login
aí com a String do usuário em mãos, vc faz a verificação, vc pode passar via construtor mesmo.
Alyesson
Já fiz isso, o usuário vai pra segunda tela onde faz essa verificação, o problema ta na tela que é do usuário, a verificação não ta acontecendo lá…
rodriguesabner
blz, mas vc nao ta falando pq não ta indo… Vc tbm nao ta imprimindo nenhuma msg de erro, coloca esse código abaixo e fala que erro aparece.
Stringsql="SELECT * FROM usuário_port WHERE usuario LIKE '"+usuario_portaria.getText()+"' AND administrador='Sim'";conecta_portaria.executeSQL(sql);try{if(conecta_portaria.resultset.next()){modulo_portaria.setText("Módulo Portaria Administrador");}else{modulo_portaria.setText("Módulo Portaria Usuário");}}catch(SQLExceptionerro){erro.printStackTrace();}
Alyesson
Já tinha feito esse código tmbm e ele só mostra como “Módulo Portaria Usuário”, é como se eles estivesse pulando essa parte aqui:
joga essa sql no seu banco de dados e ve qual dado retorna
Alyesson
Já fiz, ele retornou Módulo Portaria Usuário
rodriguesabner
Como retornou isso, se no banco só tem Sim e Não???
Alyesson
Isso que estou tentando descobrir, ele só me mostra isso, e no banco o teste que faço com o usuário está como Sim, na coluna Admin. Ta muito estranho isso. não sei o que fazer mais, todas possibilidades que sei esgotaram-se.
Solucao aceita
Alyesson
Consegui resolver o problema dentro da Classe LogOn, coloquei dois if dentro do try e fiz a comparação dos SQL em cada If, e deu certo… fechando tópico, e obrigado pela ajuda.