Boa noite, estou com um sistema e ele não está gravando nem alterando dados, somente listando e excluindo, ainda não consegui resolver o problema, se alguém puder dar um help…
cadastroCLiente.jsp
<body>
<%
String nome = request.getParameter("nome");
if(nome != null)
{
%>
<jsp:useBean id="cliente" class="br.com.sistemaFinal.Cliente" scope="session" />
<jsp:setProperty name="cliente" property="*" />
<jsp:useBean id="dao" class="br.com.sistemaFinal.ClienteDAO" />
<%
dao.gravaDados(cliente);
%>
<jsp:forward page="clientes.jsp" />
<%
}else{
%>
<h1>Novo Cliente</h1>
<form method="POST">
<table border="0">
<tr>
<td>Nome:</td><td><input type="text" name="nome" /></td>
</tr>
<tr>
<td>Endereço:</td><td><input type="text" name="endereco" /></td>
</tr>
<tr>
<td>Telefone:</td><td><input type="text" name="telefone" /></td>
</tr>
<tr>
<td><input type="submit" value="Cadastrar" /></td>
</tr>
</table>
</form>
<%
}
%>
</body>
clienteDao
package br.com.sistemaFinal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author windows
*/
public class ClienteDAO {
private Connection connection;
public ClienteDAO() throws SQLException{
connection = ConnectionFactory.getConnection();
}
public List<Cliente> getLista() throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM cliente");
ResultSet rs = stmt.executeQuery();
List<Cliente> cli = new ArrayList<Cliente>();
while(rs.next()){
Cliente cliente = new Cliente();
cliente.setIdCliente(Integer.parseInt(rs.getString("idCliente")));
cliente.setNome(rs.getString("nome"));
cliente.setEndereco(rs.getString("endereco"));
cliente.setTelefone(rs.getString("telefone"));
cli.add(cliente);
}
rs.close();
stmt.close();
return cli;
}
public List<Cliente> getCliente(Cliente cliente) throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM cliente WHERE idCliente = ?");
stmt.setInt(1, cliente.getIdCliente());
ResultSet rs = stmt.executeQuery();
List<Cliente> cli = new ArrayList<Cliente>();
while(rs.next()){
cliente.setIdCliente(Integer.parseInt(rs.getString("idCliente")));
cliente.setNome(rs.getString("nome"));
cliente.setEndereco(rs.getString("endereco"));
cliente.setTelefone(rs.getString("telefone"));
cli.add(cliente);
}
rs.close();
stmt.close();
return cli;
}
public boolean verificaCliente(Cliente cliente){
try{
PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM cliente WHERE nome = '?' AND telefone = '?'");
stmt.setString(1, cliente.getNome());
stmt.setString(2, cliente.getTelefone());
ResultSet rs = stmt.executeQuery();
if(rs != null){
rs.close();
stmt.close();
return false;
}else{
rs.close();
stmt.close();
return true;
}
} catch (SQLException ex){
System.out.print(ex.getMessage());
return false;
}
}
public void gravaDados (Cliente cliente) {
PreparedStatement stmt;
try {
stmt = this.connection.prepareStatement("Insert into cliente (nome,endereco,telefone) values ('?','?','?')");
stmt.setString(1, cliente.getNome());
stmt.setString(2, cliente.getEndereco());
stmt.setString(3, cliente.getTelefone());
System.out.print(stmt.toString());
stmt.execute();
stmt.close();
} catch (SQLException ex){
System.out.print(ex.getMessage());
}
}
public void editar (Cliente cliente) {
PreparedStatement stmt;
try {
stmt = this.connection.prepareStatement("UPDATE cliente SET nome='?',endereco='?',telefone='?' WHERE idCliente=?");
stmt.setString(1, cliente.getNome());
stmt.setString(2, cliente.getEndereco());
stmt.setString(3, cliente.getTelefone());
stmt.setInt(4, cliente.getIdCliente());
System.out.print(stmt.toString());
stmt.execute();
stmt.close();
} catch (SQLException ex){
System.out.print(ex.getMessage());
}
}
public void excluirCliente (Cliente cliente) {
PreparedStatement stmt;
try {
stmt = this.connection.prepareStatement("DELETE FROM cliente WHERE idCliente = ?");
stmt.setInt(1, cliente.getIdCliente());
System.out.print(stmt.toString());
stmt.execute();
stmt.close();
} catch (SQLException ex){
System.out.print(ex.getMessage());
}
}
}
Qualquer ajuda é bem vinda… achei que não precisava postar os gets e sets…