Exceção Parameter index out of range (2 > number of parameters, which is 1)

0 respostas
G

Caros colegas,
Estou tentando finalizar meu pequeno sistema sistema, mas estou com dificuldade de fazer alteração. Sempre que vou atualizar algum campo gera esse erro: Exceção Parameter index out of range (2 > number of parameters, which is 1)

Este é são os métodos que estou utilizando:

CADASTRAR OS
public class osDAO  extends ConnectionMySql
{
    public void cadastrar_os (OS servico) throws Exception
    {
        OpenDatabase();
        
        sql = "INSERT INTO tbl_os (dt_chamado,"
                                + "nome_cliente,"
                                + "endereco_cliente,"
                                + "cidade_cliente,"
                                + "uf_cliente,"
                                + "tel_cliente,"
                                + "tp_equipamento,"
                                + "num_serie_equipamento,"
                                + "solicitante,"
                                + "defeito,"
                                + "tecnico,"
                                + "dt_encerra_chamado,"
                                + "observacao,"
                                + "status_os)"
                                + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        
        //SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        
        ps = con.prepareStatement(sql);
        
        ps.setString(1, servico.getDt_chamado());
        ps.setString(2, servico.getNome_cliente());
        ps.setString(3, servico.getEndereco_cliente());
        ps.setString(4, servico.getCidade_cliente());
        ps.setString(5, servico.getUf_cliente());
        ps.setString(6, servico.getTel_cliente());
        ps.setString(7, servico.getTp_equipamento());
        ps.setString(8, servico.getNum_serie_equipamento());
        ps.setString(9, servico.getSolicitante());
        ps.setString(10, servico.getDefeito());
        ps.setString(11, servico.getTecnico());
        ps.setString(12, servico.getDt_encerra_chamado());
        ps.setString(13, servico.getObservacao());
        ps.setString(14, servico.getStatus_os());
        
        ps.execute();
        CloseDatabase();
    }
public void atualizar_OS (OS servico) throws Exception
    {
        OpenDatabase();
        
        sql = "UPDATE tbl_os SET dt_chamado,"
                                + "nome_cliente"
                                + "endereco_cliente,"
                                + "cidade_cliente,"
                                + "uf_cliente,"
                                + "tel_cliente,"
                                + "tp_equipamento,"
                                + "num_serie_equipamento,"
                                + "solicitante,"
                                + "defeito,"
                                + "tecnico,"
                                + "dt_encerra_chamado,"
                                + "observacao,"
                                + "status_os"
                                + " WHERE id=?";
        
        ps = con.prepareStatement(sql);
        
        ps.setString(1, servico.getDt_chamado());
        ps.setString(2, servico.getNome_cliente());
        ps.setString(3, servico.getEndereco_cliente());
        ps.setString(4, servico.getCidade_cliente());
        ps.setString(5, servico.getUf_cliente());
        ps.setString(6, servico.getTel_cliente());
        ps.setString(7, servico.getTp_equipamento());
        ps.setString(8, servico.getNum_serie_equipamento());
        ps.setString(9, servico.getSolicitante());
        ps.setString(10, servico.getDefeito());
        ps.setString(11, servico.getTecnico());
        ps.setString(12, servico.getDt_encerra_chamado());
        ps.setString(13, servico.getObservacao());
        ps.setString(14, servico.getStatus_os());
        ps.setInt(15, servico.getId());
        
        ps.execute();
        CloseDatabase();
    }
}
////////////////////////////////////////////////////////////////////////////
    //                  METODOS PARA ORDEM DE SERVIÇO                         //
    ////////////////////////////////////////////////////////////////////////////
    public String getListOS() 
    {
        try 
        {
            osDAO dao = new osDAO();
            return html.getListOS(dao.listaServico());
        }
        catch (Exception ex) 
        {
            return "Exceção: " + ex.getMessage();
        }
    }

    public String salvarOS(HttpServletRequest req) 
    {
        try 
        {
            //recuperando os valores passado como parametro pelo formulario
            String dt_chamado            = req.getParameter("dt_chamado");
            String nome_cliente          = req.getParameter("nome_cliente");
            String endereco_cliente      = req.getParameter("endereco_cliente");
            String cidade_cliente        = req.getParameter("cidade_cliente");
            String uf_cliente            = req.getParameter("uf_cliente");
            String tel_cliente           = req.getParameter("tel_cliente");
            String tp_equipamento        = req.getParameter("tp_equipamento");
            String num_serie_equipamento = req.getParameter("num_serie_equipamento");
            String solicitante           = req.getParameter("solicitante");
            String defeito               = req.getParameter("defeito");
            String tecnico               = req.getParameter("tecnico");
            String dt_encerra_chamado    = req.getParameter("dt_encerra_chamado");
            String observacao            = req.getParameter("observacao");
            String status_os             = req.getParameter("status_os");
            
            //SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

            //montando o objeto
            OS servico = new OS();
            
            servico.setDt_chamado(dt_chamado);
            servico.setNome_cliente(nome_cliente);
            servico.setEndereco_cliente(endereco_cliente);
            servico.setCidade_cliente(cidade_cliente);
            servico.setUf_cliente(uf_cliente);
            servico.setTel_cliente(tel_cliente);
            servico.setTp_equipamento(tp_equipamento);
            servico.setNum_serie_equipamento(num_serie_equipamento);
            servico.setSolicitante(solicitante);
            servico.setDefeito(defeito);
            servico.setTecnico(tecnico);
            servico.setDt_encerra_chamado(dt_encerra_chamado);
            servico.setObservacao(observacao);
            servico.setStatus_os(status_os);

            //persitindo dados no mysql
            osDAO dao = new osDAO();
            dao.cadastrar_os(servico);

            return "<div align='center'> Ordem de Serviço cadastrado com sucesso!</div>";
        } 
        catch (Exception ex) 
        {
            return "Exceção " + ex.getMessage();
        }
    }
    public String getPreencherFormOS(HttpServletRequest req) 
    {
        try 
        {
            String id = req.getParameter("id");

            osDAO dao = new osDAO();
            return html.getFormAtualizarOS(dao.buscaporId(Integer.parseInt(id)));
        }
        catch (Exception ex) 
        {
            return "Exceção " + ex.getMessage();
        }
    }
    //atualizar OS
    public String atualizarOS(HttpServletRequest req) 
    {
        try 
        {
            //recuperando os valores passados com parametros pelo formulario
            String id                    = req.getParameter("id");
            String dt_chamado            = req.getParameter("dt_chamado");
            String nome_cliente          = req.getParameter("nome_cliente");
            String endereco_cliente      = req.getParameter("endereco_cliente");
            String cidade_cliente        = req.getParameter("cidade_cliente");
            String uf_cliente            = req.getParameter("uf_cliente");
            String tel_cliente           = req.getParameter("tel_cliente");
            String tp_equipamento        = req.getParameter("tp_equipamento");
            String num_serie_equipamento = req.getParameter("num_serie_equipamento");
            String solicitante           = req.getParameter("solicitante");
            String defeito               = req.getParameter("defeito");
            String tecnico               = req.getParameter("tecnico");
            String dt_encerra_chamado    = req.getParameter("dt_encerra_chamado");
            String observacao            = req.getParameter("observacao");
            String status_os             = req.getParameter("status_os");

            //testa se os valores estão corretos
            System.out.println("id"
                                + "dt_chamado"
                                + "nome_cliente"
                                + "endereco_cliente"
                                + "cidade_cliente"
                                + "uf_cliente"
                                + "tel_cliente"
                                + "tp_equipamento"
                                + "num_serie_equipamento"
                                + "solicitante"
                                + "defeito"
                                + "tecnico"
                                + "dt_encerra_chamado"
                                + "observacao"
                                + "status_os");
            
            //SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            
            //montando o objeto
            OS servico = new OS();
            
            servico.setDt_chamado(dt_chamado);//(new java.sql.Date(sdf.parse(dt_chamado).getTime()));
            servico.setNome_cliente(nome_cliente);
            servico.setEndereco_cliente(endereco_cliente);
            servico.setCidade_cliente(cidade_cliente);
            servico.setUf_cliente(uf_cliente);
            servico.setTel_cliente(tel_cliente);
            servico.setTp_equipamento(tp_equipamento);
            servico.setNum_serie_equipamento(num_serie_equipamento);
            servico.setSolicitante(solicitante);
            servico.setDefeito(defeito);
            servico.setTecnico(tecnico);
            servico.setDt_encerra_chamado(dt_encerra_chamado);
            servico.setObservacao(observacao);
            servico.setStatus_os(status_os);

            //persitindo dados no mysql
            osDAO dao = new osDAO();
            dao.atualizar_OS(servico);

            System.out.println("Atualizado");
            return "<div align='center'> Ordem Serviço atualizada com sucesso!</div>";
        }
        catch (Exception ex) 
        {
            return "Exceção " + ex.getMessage();
        }
    }
Se alguém puder ajudar-me, agradeço. Gusmborges
Criado 26 de junho de 2014
Respostas 0
Participantes 1