Estou com o seguinte problema:
[color=red]java.sql.SQLException: No value specified for parameter 5
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2611)
com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2586)
com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2510)
com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1316)
br.com.projeto.DAO.ContatoDAO.adiciona(ContatoDAO.java:41)
br.com.projeto.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:79)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)[/color]
Minha classe DAO:
package br.com.projeto.DAO;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import br.com.projeto.javabean.Contato;
import br.com.projeto.jdbc.ConnectionFactory;
public class ContatoDAO {
private Connection connection;
public ContatoDAO(){
this.connection = new ConnectionFactory().getConnection();
}
public void adiciona(Contato contato){
String sql = "insert into LancarProcesso (advogado,cliente,dtAbertura,dtFechamento,dtVencimento,tpCaso,resultado,situacao,obs) values (?,?,?,?,?,?,?,?,?)";
try {
PreparedStatement stmt = connection.prepareStatement(sql);
//seta os valores]
stmt.setString(1, contato.getAdvogado());
stmt.setString(2, contato.getCliente());
stmt.setString(3, contato.getTpCaso());
stmt.setString(3, contato.getResultado());
stmt.setString(3, contato.getSituacao());
stmt.setString(3, contato.getObs());
stmt.setDate(4, new Date( contato.getDtAbertura().getTimeInMillis()));
stmt.setDate(4, new Date( contato.getDtFechamento().getTimeInMillis()));
stmt.setDate(4, new Date( contato.getDtVencimento().getTimeInMillis()));
//executa
stmt.execute();
stmt.close();
} catch (SQLException e){
throw new RuntimeException(e);
}
}
public List<Contato> getLista(){
try {
List<Contato> contatos = new ArrayList<Contato>();
PreparedStatement stmt = this.connection.prepareStatement("select * from LancarProcesso");
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
//Criando o objeto contato
Contato contato = new Contato();
contato.setId(rs.getLong("id"));
contato.setAdvogado(rs.getString("advogado"));
contato.setCliente(rs.getString("cliente"));
contato.setTpCaso(rs.getString("tpCaso"));
contato.setResultado(rs.getString("resultado"));
contato.setSituacao(rs.getString("situacao"));
contato.setObs(rs.getString("obs"));
//montando a data através do Calendar
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("dtAbertura"));
contato.setDtAbertura(data);
Calendar dataB = Calendar.getInstance();
data.setTime(rs.getDate("dtFechamento"));
contato.setDtFechamento(dataB);
Calendar dataC = Calendar.getInstance();
data.setTime(rs.getDate("dtVencimento"));
contato.setDtVencimento(dataC);
//adicionando o objeto a lista
contatos.add(contato);
}
rs.close();
stmt.close();
return contatos;
} catch (SQLException e){
throw new RuntimeException(e);
}
}
}
Se alguém puder me ajudar, vou ficar agradecido!
