Minha Classe ClienteDAO
com a tentativa de colocar 2 INSERT
:
public boolean gravar(Cliente c){
try{
this.conectar();
String sql ;
if(c.getIdcliente()==0)
sql = "INSERT INTO cliente (nome, tel, end, email, cpf, idusuario)"
+ "VALUES (?,?,?,?,?,?)";
else
sql = "UPDATE cliente SET nome=?, tel=?, end=?, email=?, cpf=?, idusuario=?"
+ " WHERE idcliente=?";
PreparedStatement pstm = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
pstm.setString(1,c.getNome());
pstm.setString(2,c.getTel());
pstm.setString(3,c.getEnd());
pstm.setString(4,c.getEmail());
pstm.setString(5,c.getCpf());
pstm.setInt(6,c.getUsuario().getIdusuario());
pstm.execute();
ResultSet rs = pstm.getGeneratedKeys();
if(rs.next()){
c.setIdcliente(rs.getInt(1));
}
try{
Usuario u = new Usuario();
String sql_item = "INSERT INTO usuario ( login, senha, status, idperfil) "
+ "VALUES (?,?,?,?)";
PreparedStatement pstm_item = conn.prepareStatement(sql_item);
pstm_item.setString(2,u.getLogin());
pstm_item.setString(3,u.getSenha());
pstm_item.setInt(4,u.getStatus());
pstm_item.setInt(5, u.getPerfil().getIdperfil());
pstm_item.execute();
}catch(Exception e){
e.printStackTrace();
}
if(c.getIdcliente()>0)
pstm.setInt(7,c.getIdcliente());
pstm.execute();
this.desconectar();
return true;
}catch(Exception e){
System.out.println(e);
return false;
}
}
Minha servlet :
PrintWriter out = response.getWriter();
String idcliente = request.getParameter("idcliente");
String nome = request.getParameter("nome");
String tel = request.getParameter("tel");
String cpf = request.getParameter("cpf");
String end = request.getParameter("end");
String email = request.getParameter("email");
String idusuario = request.getParameter("idusuario");
String login = request.getParameter("login");
String senha = request.getParameter("senha");
String status = request.getParameter("status");
String idperfil = request.getParameter("idperfil");
String mensagem = "";
Cliente c = new Cliente();
if(!idcliente.isEmpty())
c.setIdcliente(Integer.parseInt(idcliente));
c.setNome(nome);
c.setTel(tel);
c.setCpf(cpf);
c.setEnd(end);
c.setEmail(email);
Usuario u = new Usuario();
u.setIdusuario(Integer.parseInt(idusuario));
c.setUsuario(u);
u.setNome(nome);
u.setLogin(login);
u.setSenha(senha);
u.setStatus(Integer.parseInt(status));
Perfil p = new Perfil();
p.setIdperfil(Integer.parseInt(idperfil));
u.setPerfil(p);
E sempre retorna o erro na pagina
jsp: java.lang.NumberFormatException: For input string: ""