SQLException

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!

Aprender a contar é na primária! :slight_smile: