package gerenciador.bean;
public class Estoque {
private int codigo;
private String descricao;
private String quantidade;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getQuantidade() {
return quantidade;
}
public void setQuantidade(String quantidade) {
this.quantidade = quantidade;
}
}
A classe EstoqueDao:
package gerenciador.dao;
public class EstoqueDao extends Conexao{
public void Inserir(Estoque estoque) throws Exception{
abrirBanco();
String sqlInsert = "INSERT INTO estoque (descricao, quantidade) VALUES (?, ?)";
ps = con.prepareStatement(sqlInsert);
ps.setString(1, estoque.getDescricao());
ps.setString(2, estoque.getQuantidade());
ps.execute();
fecharBanco();
}
public void Alterar(Estoque estoque) throws Exception{
String sqlUpdate = "UPDATE estoque SET descricao = ?, quantidade = ? WHERE codigo = ?";
ps = con.prepareStatement(sqlUpdate);
ps.setString(1, estoque.getDescricao());
ps.setString(2, estoque.getQuantidade());
ps.execute();
fecharBanco();
}
public void Excluir(Estoque estoque) throws Exception{
String sqlDelete = "DELETE FROM estoque WHERE codigo = ?";
ps = con.prepareStatement(sqlDelete);
ps.setInt(1, estoque.getCodigo());
ps.execute();
fecharBanco();
}
//restante do código
}
Tenho o meu Servlet
package gerenciador.servlet;
public class EstoqueServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doExecute(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doExecute(request, response);
}
protected void doExecute(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter out = response.getWriter();
String action = request.getParameter("action");
if (action == null) action = "formulario";
if (action.equals("formulario")) {
// criar o formulario e enviar ao usuario
out.print( FormularioEstoque.formSalvaEstoque() );
} else if (action.equals("salvar")) {
//pega os parametros do formulario
String descricao = request.getParameter("descricao");
String quantidade = request.getParameter("quantidade");
Estoque estoque = new Estoque();
estoque.setDescricao(descricao);
estoque.setQuantidade(quantidade);
try {
new EstoqueDao().Inserir(estoque);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
StringBuilder sb = new StringBuilder();
sb.append("<div>Estoque cadastrado com sucesso!!!<br></div>");
sb.append("<a href=\"EstoqueServlet\">Cadastrar outro</a>");
sb.append("<a href=\"EstoqueServlet?action=voltar\">Listar</a>");
out.print( sb.toString() );
}
else if(action.equals("editar")) {
out.print( FormularioEstoque.formAlteraEstoque());
}
}
}
package gerenciador.view;
import gerenciador.bean.Estoque;
import gerenciador.dao.EstoqueDao;
public class FormularioEstoque {
public static String formSalvaEstoque(){
StringBuilder sb = new StringBuilder();
//cria os formulários para gravar o estoque
sb.append("<form action=\"EstoqueServlet\" method=\"post\"> ");
sb.append(" <input type=\"hidden\" name=\"action\" value=\"salvar\" />");
sb.append(" <label>Descrição <input type=\"text\" name=\"descricao\" size=\"50\" /> </label>");
sb.append(" <label>Quantidade <input type=\"text\" name=\"quantidade\" size=\"10\" /></label>");
sb.append(" <input type=\"submit\" name=\"salvar\" value=\"Salvar\" />");
//Tabela que apresentará o estoque
sb.append(" <table border = \"1\"> <tr> ");
sb.append(" <td width=\"80\" > <b>Código</b></td> ");
sb.append(" <td width=\"180\"> <b>Descrição</b></td> ");
sb.append(" <td width=\"100\"> <b>Quantidade</b></td> ");
sb.append(" <td width=\"50\"> <b>Opções</b></td> </tr> ");
EstoqueDao a = new EstoqueDao();
try {
for (int i = 0; i < a.listaEstoque() .size(); i++) {
Estoque estoque = a.listaEstoque().get(i);
sb.append (" <tr> ");
sb.append (" <td> " + estoque.getCodigo() + " </td>");
sb.append (" <td> " + estoque.getDescricao() + " </td>");
sb.append (" <td>" + estoque.getQuantidade() + " </td>");
sb.append (" <td> <a href=\"EstoqueServlet?action=editar&codigo="+estoque.getCodigo()+"\"><img src=\"imagens/editar.png\" border=\"0\" style=\"padding:3px\" title=\"Editar\"\">" +
"<a href=\"EstoqueServlet?action=excluir&codigo="+estoque.getCodigo()+"\"><img src=\"imagens/excluir.png\" border=\"0\" style=\"padding:3px\" title=\"Apagar\"\">" +
"</a> </td> ");
}
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
public static String formAlteraEstoque(){
StringBuilder sb = new StringBuilder();
//Apresenta os forms com os dados da alteração
sb.append("<form action=\"EstoqueServlet\" method=\"post\">");
sb.append(" <input type=\"hidden\" name=\"action\" value=\"editar\" />");
sb.append(" <label>Descrição <input type=\"text\" name=\"descricao\" value=\"\" size=\"50\" /> </label>");
sb.append(" <label>Quantidade <input type=\"text\" name=\"quantidade\" value=\"\" size=\"10\" /></label>");
sb.append(" <input type=\"submit\" name=\"editar\" value=\"Salvar\" />");
return sb.toString();
}
}
No método formSalvaEstoque eu cadastro o estoque de um determinado item e logo abaixo ele tem uma tabela com os dados cadastrados. Também tenho uma coluna nessa tabela que possui duas opções: Alterar e Excluir.. Eu comecei fazer na classe FormularioEstoque o metodo formAlteraEstoque mas não sei como continuar. Alguém pode me dar uma luz de como fazer para alterar os dados do item que for selecionado? O value do formAlteraEstoque deve receber os dados a serem alterados não é? NO caso seria a informação do banco.. mas também não sei como inserir ...