O que esta acontecendo?

4 respostas
S

Aparentemente esta tudo certo... mais não esta inserindo no banco...

meu dao:

public class DAOOcorrencia implements IDAOocorrencia {

    private Connection conn;

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

        try {




    Connection conn = Conexao.getConnection();

            //Obtendo a conexão com o BD


            String sql = "INSERT INTO ocorrencia VALUES (?,?,?,?,?,?,?)";

           
            PreparedStatement pst = conn.prepareStatement(sql);
          

            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());

            pst.setString(7,ocorrencia.getVeiculo().getNomeVeiculo());

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

            //Fechando a conexão
            conn.close();

meu controle :

public class Fachadaocorrencia implements IFachadaOcorrencia {

    private boolean validar(Ocorrencia ocorrencia) {
        String mensagem = null;
        boolean retorno = false;
 
        if (ocorrencia.getServicos().getDescricaoServ().equalsIgnoreCase("")) {
           mensagem = "Por favor, não esqueça de preencher o campo tipo de serviço";
            retorno = true;
            
            
        } else if (ocorrencia.getVeiculo().getPlaca().equalsIgnoreCase("")) {
            mensagem = "Por favor não esqueça de preencher o campo placa";
            retorno = true;
        }

        else if (ocorrencia.getData().equalsIgnoreCase("")) {
            mensagem = "Por favor, não esqueça de preencher o campo data";
            retorno = true;
            
            
        } else if (ocorrencia.getDescricao().equalsIgnoreCase("")) {
            mensagem = "Por favor, não esqueça de preencher o campo descrição";
            retorno = true;
            
            
        }else if (ocorrencia.getData().equalsIgnoreCase("")){
            mensagem = "Por favor, não esqueca de preencher o campo data";
            retorno = true;
       
        
        }else if (ocorrencia.getCliente().getNomecli().equalsIgnoreCase("")){
            mensagem = "Por favor, não esqueca de preencher o campo Nome do Cliente";
       retorno = true;
        }else if (ocorrencia.getDescricao().equalsIgnoreCase("")){
            mensagem = "Por favor, não esqueca de preencher o campo Descrição da Ocorrencia";
            retorno = true;
        }else if (ocorrencia.getVeiculo().getNomeVeiculo().equalsIgnoreCase("")){
           mensagem = "Por favor, não esqueca de preencher o campo Nome do Veiculo";
        }

       if (retorno != false){
        
   
           JOptionPane.showMessageDialog(null,mensagem);}
        return retorno;
    }


     public boolean inserirOcorrencia(DomainObject domainObject){

  IDAOocorrencia dao = new DAOOcorrencia();
// aqui ele fala que não pode fazer o cast
  Ocorrencia ocorrencia = (Ocorrencia) domainObject;



//Ocorrencia ocorrencia = new Ocorrencia();
         if (validar(ocorrencia)) {
   dao.inserirOcorrencia(domainObject);

         } else {
   JOptionPane.showMessageDialog(null, "SALVO");
    }


        return true;

jframe:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

       Ocorrencia ocorrencia = new Ocorrencia();



        Clientee cliente = new Clientee();
        ocorrencia.setCliente(cliente);

        Servicos servicos = new Servicos();
        ocorrencia.setServicos(servicos);

        Veiculo veiculo = new Veiculo();
        ocorrencia.setVeiculo(veiculo);

        ocorrencia.setIDOcorrencia(Integer.parseInt(tfcodio.getText()));


        ocorrencia.setDescricao(tfdescricao.getText());
        ocorrencia.setData(tfdata.getText());



        ocorrencia.getServicos().setDescricaoServ(tfServ.getText());

        ocorrencia.getVeiculo().setPlaca(tfplaca.getText());
        ocorrencia.getCliente().setNomecli(tfnomecli.getText());

        ocorrencia.getVeiculo().setNomeVeiculo(tfnomeveiculo.getText());


        IFachadaOcorrencia fachada = new Fachadaocorrencia();
        fachada.inserirOcorrencia(cliente);
minha tabela
CREATE TABLE ocorrencia
(
  idocorrencia int4 NOT NULL,
  descricao varchar,
  data_ocorrencia varchar,
  servico varchar,
  placa varchar,
  nomecliente varchar,
  nomeveiculo varchar,
  CONSTRAINT ocorrencia_pkey PRIMARY KEY (idocorrencia)
)

4 Respostas

Vini_Fernandes

Cara, experimente realizar um “comite” de seu PreparedStatement, assim:

pst.executeUpdate();  
conn.commit();
//Fechando o tratamento da sql  
pst.close();  
//Fechando a conexão  
conn.close();

Espero ter ajudado!

T

Não está faltando isso:

String sql = "INSERT INTO ocorrencia (col1,col2,co3) <-----  VALUES (?,?,?,?,?,?,?)";

Talvez domainObject não seja uma Ocorrencia!

S

Tenho certeza que o insert esta certo

S

Eu fiz o esquema do insert e não foi…

Criado 17 de outubro de 2009
Ultima resposta 17 de out. de 2009
Respostas 4
Participantes 3