Bom dia amigos estou com problemas nesse formulario de cadastro esta listando tudo direito somente não esta inserindo os dados no Banco se alguem conseguir me ajudar agradeço
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@tagliburi="http://java.sun.com/jsf/html"prefix="h"%><%@tagliburi="http://java.sun.com/jsf/core"prefix="f"%><%@pagecontentType="text/html"pageEncoding="UTF-8"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>RestaurantePaiol-Estoque</title></head><linkrel="shortcut icon"href="paiol.ico"/><bodybackground="fundo1.png"><divalign="center"><h1>RESTAURANTEPAIOL</h1><fieldset><legend>CadastroEstoque</legend><f:view><h:form><p>DataFabricação:<h:inputTextstyleClass="campoTexto"id="dtFabric"value="#{entraProduto.cdto.dtFabric}"><f:convertDateTimetype="date"pattern="dd/mm/yyyy"/></h:inputText>dd/mm/aaaa</p><p>DataValidade:<h:inputTextstyleClass="campoTexto"id="dtVal"value="#{entraProduto.cdto.dtVal}"><f:convertDateTimetype="date"pattern="dd/mm/yyyy"/></h:inputText>dd/mm/aaaa</p><p>Quantidade:<h:inputTextid="quantidade"value="#{entraProduto.cdto.quantidade}"size="6"required="true"/></p><p>Freezer:<h:selectOneMenuvalue="#{entraProduto.freezer}"><f:selectItemsvalue="#{freezerBean.todosFreezers}"var="conta"itemValue="#{conta.Nfreezer}"itemLabel="#{conta.Nfreezer}"/></h:selectOneMenu>Pratos:<h:selectOneMenuvalue="#{entraProduto.prato}"><f:selectItemsvalue="#{cadPratoBean.todosPratos}"var="conta"itemValue="#{conta.id}"itemLabel="#{conta.nome}"/></h:selectOneMenu></p><p><h:commandButtonaction="#{entraProduto.acao}"value="Enviar"/></p></h:form></f:view></fieldset></div></body></html>
Você colocou uma pagina jsf e perguntou sobre inserção no banco?
Qual sua duvida?
Você consegue executar o metodo que está no botão “entraProduto.acao”?
F
felipe.far
edvilson, você precisa postar seus back beans e testar o insert com um test unitário. Por exemplo, cria um método main e faz o insert do pojo. Está usando hibernate ? Se sim, mostre o mapeamento das classes.
Apenas com a view não tem como saber por que não está cadastrando.
F
fbahia32
coloca a sua classe DAO e o managed bean “entraProduto” para que possamos ajudá-lo, como os amigos pediram.
packageDAO;importDTO.EntrProdutoDTO;importDTO.cadPratoDTO;importjava.sql.Array;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjava.util.Vector;importjavax.swing.JOptionPane;publicclassEntrProdutoDAO{Stringurl;Connectionconn;Statementstmt;ResultSetrs;publicEntrProdutoDAO(){//url = "jdbc:mysql://" + host + "/" + bd;url="jdbc:mysql://localhost/restaurante";try{Class.forName("com.mysql.jdbc.Driver");//MYSQLconn=DriverManager.getConnection(url,"root","");stmt=conn.createStatement();}catch(SQLExceptione){System.out.println("Error 1: "+e);}catch(ClassNotFoundExceptione){System.out.println("Error 2: "+e);}}publicvoidsalvaEntrProduto(EntrProdutoDTOcDTO){try{Stringquery="INSERT INTO estoque (numeroFreezer, idPrato, Quantidade, dtFabric, DtValidade) VALUES ('"+cDTO.getnFreezer()+"','"+cDTO.getIdPrato()+"','"+cDTO.getQuantidade()+"','"+cDTO.getDtFabric()+"','"+cDTO.getDtVal()+"')";stmt.executeUpdate(query);}catch(SQLExceptione){System.out.println("ERROR: "+e);}}publicvoidexcuiEntrProduto(intcod)throwsSQLException{Stringquery="DELETE * FROM estoque WHERE idPrato = '"+cod+"'";stmt.executeUpdate(query);}publicList<EntrProdutoDTO>getTodosEntrProdutos(){Listl=newArrayList();EntrProdutoDTOcDTO=newEntrProdutoDTO();try{Stringquery="SELECT * FROM estoque";rs=stmt.executeQuery(query);while(rs.next()){cDTO.setnFreezer(rs.getInt("numeroFreezer"));cDTO.setIdPrato(rs.getInt("idPrato"));cDTO.setQuantidade(rs.getInt("quantidade"));cDTO.setDtFabric(rs.getString("dtFabric"));cDTO.setDtVal(rs.getString("dtValidade"));l.add(cDTO);}}catch(SQLExceptione){System.out.println("ERROR: "+e);}returnl;}publicEntrProdutoDTObuscaPorNumero(intn)throwsSQLException{EntrProdutoDTOcDTO=newEntrProdutoDTO();Stringquery="SELECT * FROM EntrProduto WHERE numero = '"+n+"'";rs=stmt.executeQuery(query);rs.next();if(rs!=null){try{cDTO.setnFreezer(rs.getInt("numeroFreezer"));cDTO.setIdPrato(rs.getInt("idPrato"));cDTO.setQuantidade(rs.getInt("quantidade"));cDTO.setDtFabric(rs.getString("dtFabric"));cDTO.setDtVal(rs.getString("dtValidade"));}catch(SQLExceptione){JOptionPane.showMessageDialog(null,"NOme nao encontrado");}returncDTO;}else{returnnull;}}publicVectorMontaFreezer()throwsSQLException{Vectorcombo=newVector();try{ResultSetrs;Stringquery="SELECT numero FROM freezer";rs=stmt.executeQuery(query);while(rs.next()){intn=rs.getInt("numero");combo.add(n);}}catch(SQLExceptione){System.out.println("Erro ao listar Freezers."+e.getMessage());}returncombo;}publicintMontaPilha(intn)throwsSQLException{intcombo=0;try{ResultSetrs;Stringquery="SELECT numero, Qtpilhas FROM freezer WHERE numero = "+n;rs=stmt.executeQuery(query);while(rs.next()){combo=rs.getInt("Qtpilhas");}}catch(SQLExceptione){System.out.println("Erro ao listar Pilhas."+e.getMessage());}returncombo;}publicintQtDisponivelPilha(intnfreezer,intnPilha){intqtdReg=0;intquantidade=0;try{ResultSetrs;Stringquery="SELECT numeroFreezer quantidade FROM estoque WHERE numeroFreezer = "+nfreezer+" and idPilha = "+nPilha;rs=stmt.executeQuery(query);while(rs.next()){quantidade=quantidade+rs.getInt("quantidade");qtdReg++;}}catch(SQLExceptione){System.out.println("Erro ao listar cargos."+e.getMessage());}return10-quantidade;}publicList<cadPratoDTO>MontaPratos(){intqtdReg=0;intquantidade=0;ListLpratos=newArrayList();cadPratoDTOcDTO=newcadPratoDTO();try{ResultSetrs;Stringquery="SELECT id, nome, descricao, preco FROM cadprato";rs=stmt.executeQuery(query);while(rs.next()){cDTO.setId(rs.getInt("id"));cDTO.setNome(rs.getString("nome"));cDTO.setNome(rs.getString("descricao"));cDTO.setPreco(rs.getDouble("preco"));Lpratos.add(newcadPratoDTO(rs.getInt("id"),rs.getString("nome"),rs.getString("descricao"),rs.getDouble("preco")));}}catch(SQLExceptione){System.out.println("Erro ao listar cargos."+e.getMessage());}returnLpratos;}publicvoidfechaConexao(){try{stmt.close();conn.close();}catch(SQLExceptione){}}}
Ele tao executando o entraProduto.acao
J
joede.fadel
publicStringacao(){cdto.setIdPrato(cdto.getIdPrato());//codigo redundate tire essa linhacdto.setnFreezer(cdto.getnFreezer());//codigo redundate tire essa linhacdtoDAO.salvaEntrProduto(cdto);return"ok";}}//EntraProdutoDAOpublicvoidsalvaEntrProduto(EntrProdutoDTOcDTO){try{//passe o id do estoque na sua sqlStringquery="INSERT INTO estoque (ID,numeroFreezer, idPrato, Quantidade, dtFabric, DtValidade) VALUES (null, "+cDTO.getnFreezer()+"','"+cDTO.getIdPrato()+"','"+cDTO.getQuantidade()+"','"+cDTO.getDtFabric()+"','"+cDTO.getDtVal()+"')";stmt.executeUpdate(query);}catch(SQLExceptione){System.out.println("ERROR: "+e);}}
Uma dica para ficar mais melhor o seu código utilize PrepareStatement ao invés de Statement.
I
Igor_Gabriel
Não vi nada de errado, só acho que não precisa disso:
Mas isso não influenciaria em nada, ta dando algum erro?
H
Hebert_Coelho
Igor Gabriel:
Não vi nada de errado, só acho que não precisa disso:
Mas isso não influenciaria em nada, ta dando algum erro?
A mesma pergunta que eu estava indo fazer.
Tem algum erro?
E
edvilson
Não insere no banco e GlassFish retorna isso:
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 1.587 milliseconds.
INFO: Inicializando Mojarra 2.0.2 (FCS b10) para o contexto '/RestaurantePaiol'
INFO: Monitoring jndi:/server/RestaurantePaiol/WEB-INF/faces-config.xml for modifications
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 664 milliseconds.
INFO: Inicializando Mojarra 2.0.2 (FCS b10) para o contexto '/RestaurantePaiol'
INFO: Monitoring jndi:/server/RestaurantePaiol/WEB-INF/faces-config.xml for modifications
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 16.639 milliseconds.
INFO: Inicializando Mojarra 2.0.2 (FCS b10) para o contexto '/RestaurantePaiol'
INFO: Monitoring jndi:/server/RestaurantePaiol/WEB-INF/faces-config.xml for modifications
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 1.310 milliseconds.
J
joede.fadel
edvilson:
Não insere no banco e GlassFish retorna isso:
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 1.587 milliseconds.
INFO: Inicializando Mojarra 2.0.2 (FCS b10) para o contexto '/RestaurantePaiol'
INFO: Monitoring jndi:/server/RestaurantePaiol/WEB-INF/faces-config.xml for modifications
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 664 milliseconds.
INFO: Inicializando Mojarra 2.0.2 (FCS b10) para o contexto '/RestaurantePaiol'
INFO: Monitoring jndi:/server/RestaurantePaiol/WEB-INF/faces-config.xml for modifications
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 16.639 milliseconds.
INFO: Inicializando Mojarra 2.0.2 (FCS b10) para o contexto '/RestaurantePaiol'
INFO: Monitoring jndi:/server/RestaurantePaiol/WEB-INF/faces-config.xml for modifications
INFO: Loading application RestaurantePaiol at /RestaurantePaiol
INFO: RestaurantePaiol was successfully deployed in 1.310 milliseconds.
Esse log não tem nada a ver com o seu erro, é o deploy de sua aplicação no servidor