Struts - Update no Banco Dados

Olá pessoal… não sei oque está acontecendo… ele não acusa nenhum erro nem exception mas tambem não efetua a atualização dos dados no Banco.Alguem pode me ajudar?

Trecho da minha JSP[code]

<html:form action="/salvaEditaOpe.do">

&lt;p align=&quot;center&quot;&gt;&lt;b&gt;&lt;font face=&quot;Century Gothic&quot; color=&quot;#FFFFFF&quot;&gt;

    
      
Código&#58; &lt;bean&#58;write name=&quot;atributosOperacao&quot; property=&quot;codOperacao&quot;/&gt;

Descrição&#58; &lt;html&#58;text name=&quot;atributosOperacao&quot; property=&quot;descricao&quot;/&gt;

&lt;html&#58;radio property=&quot;ativo&quot; value=&quot;1&quot; name=&quot;atributosOperacao&quot;&gt;Ativo&lt;/html&#58;radio&gt;
&lt;html&#58;radio property=&quot;ativo&quot; value=&quot;2&quot; name=&quot;atributosOperacao&quot;&gt;Inativo&lt;/html&#58;radio&gt;
                            
                      
                            
&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;b&gt;&lt;font face=&quot;Century Gothic&quot;&gt;&lt;html&#58;submit&gt;Alterar&lt;/html&#58;submit&gt;&lt;/a&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; 

[/code]

Minha Action

[code]
public class SalvaEditaOpeAction extends Action{

public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
ActionErrors errors = new ActionErrors();
try {

        HttpSession session = request.getSession&#40;&#41;; 
        
        SalvaEditaOpeForm seoForm = &#40;SalvaEditaOpeForm&#41;form; 
    
           
       
        OpeBean opeBean = &#40;OpeBean&#41;session.getAttribute&#40;&quot;atributosOperacao&quot;&#41;; 
        
        BeanUtils.copyProperties&#40;opeBean, seoForm&#41;;
            
            OpeDAO opeDao = new OpeDAO&#40;&#41;; 
            opeDao.updateOpe&#40;opeBean&#41;;
        
     &#125;
    catch &#40;Exception e&#41; &#123;
        errors.add&#40;
            ActionErrors.GLOBAL_ERROR,
            new ActionError&#40;&quot;error.ope.salvaedita&quot;&#41;&#41;; 
        
    &#125;
        
        
                        if &#40;!errors.isEmpty&#40;&#41;&#41; &#123; 
                              
                              return &#40;mapping.findForward&#40;&quot;failure&quot;&#41;&#41;;
                        &#125;
                        else &#123;
                               return &#40;mapping.findForward&#40;&quot;success&quot;&#41;&#41;;         










                                    
                       &#125;     

}

}[/code]

Trecho da minha DAO


public void updateOpe&#40;OpeBean opeBean&#41; throws SQLException &#123; 
      
          conn = retornaConn&#40;&#41;; 
           
           PreparedStatement stmt = null;

        try &#123;
            
            stmt = conn.prepareStatement&#40;&quot;update Tab_Operacao set Descricao = ?, Ativo = ? where CodOperacao = ?&quot;&#41;;           
            
           
           stmt.setString&#40;1, opeBean.getDescricao&#40;&#41;&#41;;       
                                              
           stmt.setInt&#40;2, opeBean.getAtivo&#40;&#41;&#41;; 
           
            stmt.setInt&#40;3, opeBean.getCodOperacao&#40;&#41;&#41;; 
            
             
            stmt.executeUpdate&#40;&#41;; 
                                              
        &#125;
        catch &#40;SQLException e&#41; &#123;
            throw e;
        &#125;
        finally &#123;
                 stmt.close&#40;&#41;;
                 conn.close&#40;&#41;;
        &#125;
     &#125;

Trecho do Meu Form

[code]

public class SalvaEditaOpeForm extends ActionForm {

private String descricao; // nunca de entrada nessas variaveis com seu valor zerado, ex.: descricao = ""
private int ativo;
private int codOperacao;

public ActionErrors validate(ActionMapping mapping, //request para trazer os dados do formulario JSP
HttpServletRequest request) {

//…

//getters e setters

public String getDescricao&#40;&#41; &#123;
    return descricao;
&#125;

public void setDescricao&#40;String descricao&#41; &#123;
    this.descricao = descricao;
&#125;

    public int getAtivo&#40;&#41; &#123;
    return ativo;
&#125;

public void setAtivo&#40;int ativo&#41; &#123;
    this.ativo = ativo;
&#125;


 public int getCodOperacao&#40;&#41; &#123;
    return codOperacao;
&#125;

public void setCodOperacao&#40;int codOperacao&#41; &#123;
    this.codOperacao = codOperacao;
&#125;

//…[/code]

e por fim trecho do meu bean

public class OpeBean&#123;
    
       
  
     
     private int codOperacao = 0;
     private String descricao=&quot;&quot;;
     private int ativo = 0;
     private int id = 0;
     private int tipoOperacao = 0;

     
     public int getCodOperacao&#40;&#41; &#123;
        return codOperacao;
    &#125;
    
    public void setCodOperacao&#40;int codOperacao&#41; &#123;
        this.codOperacao = codOperacao;
    &#125;
    
    public String getDescricao&#40;&#41; &#123;
        return descricao;
    &#125;
    
    public void setDescricao&#40;String descricao&#41; &#123;
        this.descricao = descricao;
    &#125;
    
    public int getAtivo&#40;&#41; &#123;
        return ativo;
    &#125;
    
    public void setAtivo&#40;int ativo&#41; &#123;
        this.ativo = ativo;
    &#125;
   
    public int getId&#40;&#41; &#123;
        return id;
    &#125;
    
    public void setId&#40;int id&#41; &#123;
        this.id = id;
    &#125;
    
    public int getTipoOperacao&#40;&#41; &#123;
        return tipoOperacao;
    &#125;
    
    public void setTipoOperacao&#40;int tipoOperacao&#41; &#123;
        this.tipoOperacao = tipoOperacao;
    &#125;
    
    
&#125;

Tente dar um commit depois do metodo executeUpdate no DAO.


public void updateOpe&#40;OpeBean opeBean&#41; throws SQLException &#123;
     
          conn = retornaConn&#40;&#41;;
           
           PreparedStatement stmt = null;

        try &#123;
           
            stmt = conn.prepareStatement&#40;&quot;update Tab_Operacao set Descricao = ?, Ativo = ? where CodOperacao = ?&quot;&#41;;           
           
           
           stmt.setString&#40;1, opeBean.getDescricao&#40;&#41;&#41;;       
                                             
           stmt.setInt&#40;2, opeBean.getAtivo&#40;&#41;&#41;;
           
            stmt.setInt&#40;3, opeBean.getCodOperacao&#40;&#41;&#41;;
           
             
            stmt.executeUpdate&#40;&#41;;
            conn.commit&#40;&#41;;
                                             
        &#125;
        catch &#40;SQLException e&#41; &#123;
            throw e;
        &#125;
        finally &#123;
                 stmt.close&#40;&#41;;
                 conn.close&#40;&#41;;
        &#125;
     &#125;

Não deu certo… Faz ideia do que mais poderia ser??

Obrigado.

Vc ja tentou debugar a aplicação ?

Coloque uns System.out.println() antes da execucao do stmt.executeUpdate(); pra certificar se os valores estão corretos.

Funcionou… debugando percebi que não estava conseguindo recuperar o codOperacao ai foi só substituir

Código&#58; &lt;bean&#58;write name=&quot;atributosOperacao&quot; property=&quot;codOperacao&quot;/&gt; Por&lt;html&#58;hidden property=&quot;codOperacao&quot; name=&quot;atributosOperacao&quot;/&gt;

Obrigado,

Rodrigo Marini.