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
[code]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();
}
}[/code][code]
////////////////////////////////////////////////////////////////////////////
// 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();
}
}[/code]
Se alguém puder ajudar-me, agradeço.
Gusmborges