Ajuda na mensagem de confirmação do metodo inserir

7 respostas
S

ola pessoal, tenho esse metodo inserir no meu pacote dao, e quero que se ele inserir corretamente ou não, meu pacote controller exiba uma mensagem..
Alguem pode me ajudar?

Meu codigo de inserir do pacote dao.

public void inserirOcorrencia(DomainObject domainObject) {
        Ocorrencia ocorrencia = (Ocorrencia) domainObject;

        try {

            Connection conn = Conexao.getConnection();

            //Obtendo a conexão com o BD

            //Criando a string com sql a ser executada
            String sql = "INSERT INTO ocorrencia VALUES (?,?,?,?,?,?)";

            //Tratando a sql  a ser executada
            PreparedStatement pst = conn.prepareStatement(sql);
            //Definindo o primeiro parâmetro

            pst.setInt(1, ocorrencia.getIDOcorrencia());


            pst.setString(2, ocorrencia.getDescricao());





            //Definindo o segundo parâmetro
            pst.setString(3, ocorrencia.getData());

            pst.setString(4, ocorrencia.getServicos().getDescricaoServ());

            //      pst.setString(5,Servicos.getDescricaoServ());
            pst.setString(5, ocorrencia.getVeiculo().getPlaca());


            pst.setString(6, ocorrencia.getCliente().getNomecli());
            //Executando a sql
            pst.executeUpdate();

            //Fechando o tratamento da sql
            pst.close();

            //Fechando a conexão
            conn.close();
            JOptionPane.showMessageDialog(null,"Salvo com Sucesso");

        } catch (Exception e) {
        }
    }
Aqui é meu pacote controller:
public class Fachadaocorrencia implements IFachadaOcorrencia {
public void inserirOcorrencia(DomainObject domainObject){


        IDAOocorrencia dao = new DAOOcorrencia();
       
            dao.inserirOcorrencia(domainObject);

        }

Apenas quero que ele exiba uma mensagem se ele inserir ou não.

7 Respostas

C

faz assim

public void inserirOcorrencia(DomainObject domainObject) {
	Ocorrencia ocorrencia = (Ocorrencia) domainObject;
	int resposta;
	resposta = JOptionPane.showOptionDialog(null, "Tem Certeza que Deseja Inserir este Usuario?","Atenção",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
	if(resposta == JOptionPane.YES_OPTION){
		try {

            Connection conn = Conexao.getConnection();

            //Obtendo a conexão com o BD

            //Criando a string com sql a ser executada
            String sql = "INSERT INTO ocorrencia VALUES (?,?,?,?,?,?)";

            //Tratando a sql  a ser executada
            PreparedStatement pst = conn.prepareStatement(sql);
            //Definindo o primeiro parâmetro

            pst.setInt(1, ocorrencia.getIDOcorrencia());
            pst.setString(2, ocorrencia.getDescricao());
            pst.setString(3, ocorrencia.getData());
            pst.setString(4, ocorrencia.getServicos().getDescricaoServ());
            pst.setString(5, ocorrencia.getVeiculo().getPlaca());
            pst.setString(6, ocorrencia.getCliente().getNomecli());
// aqui coloquei o if para ele nao passar direto pois da forma que estava mesmo dando algum erro ele iria dar a mensagem de salvo com sucesso
            int valor = pst.executeUpdate();
			if(valor !=0){
				JOptionPane.showMessageDialog(null,"Salvo com Sucesso");
	
			}else{
				JOptionPane.showMessageDialog(null,"Error");
			}
            //Fechando o tratamento da sql
            pst.close();

            //Fechando a conexão
            conn.close();
            
        } catch (Exception e) {
        }
    }
S

LEgal entendi, mais eu teria que exibir a mensagem no controller, e esse metodo esta no pacote DAO.
Como eu poderia fazer?

C

souzajhonatan:
LEgal entendi, mais eu teria que exibir a mensagem no controller, e esse metodo esta no pacote DAO.
Como eu poderia fazer?

entao voce esta utilizando MVC (model view controller) o model e as classes persistentes o view sao as suas classes GUI e o controller e suas DAO
axo que e isso que voce quer mesmo pelo que entendi

S

Eu montei assim, tenho uma camada Controller, onde possuo o Fachada que possui a regra de negócio. Uma interface IFachada que chama os metodo da camada DAO.

Mais um pacote Modelo. onde possuo minhas classes estendendo a classe DomainObject.

Tenho meu pacote Util, onde tem minha classe de conexão

E minha visão que é meu JFrame.

Então no meu dao vou ter o metodo inserir, e no controller (Fachada) vou chamar o metodo inserir e exibiri a mensagem de confirmação…

Eu consegui exibir a mensagem apenas direto do pacote DAO, direto no metodo ok?

mais no pacote DAO teria que ser apenas o metodo que será chamda dno controller…

Blz?

C

entao…
o seu exemplo que modifiquei esta certo… nao importa em qual pacote vai coloca-lo… quando chamar esse metodo inserir e se por ventura der erro ele vai retornar a mensagem com erro… e simples…

S

Mas não tem problema de exibir uma mensagem no metodo que esta no pacote dao?

S

estou fazendo a chamada do metodo no controle assim:

public class Fachadaocorrencia implements IFachadaOcorrencia {
public void inserirOcorrencia(DomainObject domainObject){


        IDAOocorrencia dao = new DAOOcorrencia();

            dao.inserirOcorrencia(domainObject);
Criado 7 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 7
Participantes 2