Javafree
Página Inicial do Fórum > Banco de Dados - JDBC / SQL

Comparar JtextField com Campo no Banco



Criar novo tópico   Responder tópico


  1. Rafael Naper
    Posts:23


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Boa tarde,

    gostaria de saber como que faz para comparar meu valor de um textfield com o campo no banco de dados :

    Ao cadastrar um funcionário o usuario informa o código, necessito antes de salvar, validar no banco de dados se o código ja existe, se existir, informo ao usuario " Funcionário ja Cadastrado ".

    alguem sabe me informar como que faz para comparar o valor do textfield com o campo no banco de dados ?



    Obrigado !
    _________________

    Rafael Naper Garcia
    "Quem pensa pouco, erra muito ".





  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    O operador == compara a referência de dois objetos, para comparar o valor utilize o método equals

    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. Rafael Naper
    Posts:23


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Obrigado pela dica,
    mas continuo com o mesmo problema.

    Estou fazendo da seguinte maneira :
    O usuario ira cadatrar um funcionario, quando ele colocar o id e apertar salvar, primeiro tenho que verificar no banco se aquele ID ja consta, se sim apresentar a mensagem pro Usuario " Funcionario Existente ", senão Cadastrar o Funcionario.



    Mas fazendo do jeito que esta em cima, ele esta me dando direto a mensagem " A INSERÇÃO FALHOU", não esta passando por essa comparação if (rs.getString("id".equals(tf_id.getText())){

    Sabe me dizer o porque ?


    Obrigado !
    _________________

    Rafael Naper Garcia
    "Quem pensa pouco, erra muito ".





  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Sim, é porque você não está chamando o next do ResultSet
    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. Rafael Naper
    Posts:23


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Ricardo,

    realmente com o next do ResultSet agora ele aponta os funcionarios existentes, mas agora o problema esta quando nao existe, ele nao insere no banco, ta me dando a mensagem de Problemas com a Inserção.

    Desculpe a ignorancia, é que sou novo em java.
    _________________

    Rafael Naper Garcia
    "Quem pensa pouco, erra muito ".





  1. Marco_Naz
    Posts:1


    Comment Arrow

    Publicado em: 01/03/2011 08:42:09

    Amigo, aqui numa aplicação que fiz usei algo bem mais simples para verificar isso, bastando apenas você usar no DAO um try antes de executar o comando SQL e após executar a consulta faz um catch que retorna uma mensagem de erro caso o que você queira cadastrar já esteja no banco:
    public void testeCadastro(int valor1, String valor2, String valor3, String valor4){
    try{

    String sql = ("INSERT INTO sua_tabela (valor1,valor2,valor3,valor4) values (?,?,?,?)";
    pst = (PreparedStatement) conn.prepareStatement(sql);
    pst.setString(1, ""+valor1);
    pst.setString(2, valor2);
    pst.setString(3, valor3);
    pst.setString(4, valor4);
    pst.execute();

    }catch(SQLException ex){
    JOptionPane.showMessageDialog(null, " JÁ ESTÁ CADASTRADO!";
    }
    }

    Espero ter sido útil.
    _________________

    "Tudo neste mundo tem o seu tempo;
    cada coisa tem a sua ocasião." -> Eclesiastes 3.1



  1. thales.barbosa
    Posts:318


    Comment Arrow

    Publicado em: 01/03/2011 10:59:38

    Susbtitua:

    Por

    Caso exista um id cadastrado o rs.next irá mostrar a mensagem, caso não exista ira fazer o cadastro.
    Se o erro continuar fale qual o erro que ta dando.
    _________________

    Pensando...
    "Deus e o programador fizeram um acordo. Deus não desenvolve sistemas e o programador não faz milagres."

  1. Comment Arrow

    Publicado em: 23/06/2013 13:48:38

    [quote="thales.barbosa"]Susbtitua:

    Por

    Caso exista um id cadastrado o rs.next irá mostrar a mensagem, caso não exista ira fazer o cadastro...


    boa tarde
    eu tava com o mesmo problema do rafael. Fiz as recomendações do thales e o programa teve o resultado esperado. Obg a todos q responderam!
    _________________

    Young Java apprentice



  1. Relacionados