No meu caso estou inserindo informações no BD, mas não quero que o usuário insira duas informações com o mesmo nome. Só que quero fazer isso dentro do DAO, onde o código está assim:
public void inserir(NomeOrc nomeOrc){
conectar();
String sql = "SELECT * FROM NOME_ORCAMENTO WHERE NO_NOME = '"+getNomeOrc+"';"
+ " INSERT INTO NOME_ORCAMENTO (NO_NOME, NO_OBS) VALUES ("
+ "'"+nomeOrc.getNomeOrc()+"',"
+ "'"+nomeOrc.getObs()+"')";
try{
comando.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Nome e/ou observação de orçamento cadastrado com sucesso!", "Mensagem do Sistema", 1);
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro ao cadastrar o nome do Orçamento! Erro:"+e.getMessage(), "Erro do Sistema", 0);
}finally{
fechar();
}
}
Depois do select eu queria fazer uma condição, se ele retornar resultado, pede pra ele colocar outro nome, mas se não existir insere normalmente. Alguém sabe como faço isso?
Mas ok! Disso eu devo usar um IF ou o try-catch? Pois, essa verificação tem que me retornar um resultado, desse resultado eu pensei em usar boolean, mas não estou sabendo como usar!
Vc esta concatenando as String?? como assim…
Não é melhor vc fazer a busca, se o valor for encontrado, retorna o valor ao metodo que a chamou;
Caso nao encontrado retorne chama outro metodo de inserção…
Você chama um método count (public int count(NomeOrc nomeOrc) passando como parametro o nome que vai ser inserido. Se o count encontrar algo vai lhe retornar 1.
Se retornar 1 é porque este nome já existe. Ai você pode tratar e retornar uma mensagem. Se retornar zero você chamar esse seu método inserir.