Dúvida com sql e access

Estou tentando fazer um comando sql para retornar registros de ids de uma tabela inseridos entre duas datas, só que não aparece nada na linkedList:

public LinkedList atividades(int idAluno, String dataInicial, String dataFinal) throws SQLException{

Connection conn=ConnectionFactory.getConnection();

LinkedList lista= new LinkedList();

ResultSet rs=null;

String sql=“SELECT idAtividade FROM atividade where idAluno = ? and diaAtividade between ? and ?;”;
//seleciona os ids das atividades

PreparedStatement stm= conn.prepareStatement(sql);

stm.setInt(1, idAluno);

stm.setString(2, dataInicial);

stm.setString(3, dataFinal);

rs=stm.executeQuery();

while(rs.next()){

atividade at= new atividade();

at.setIdAtividade(rs.getInt(1));

lista.add(at.getIdAtividade());

}

return lista;

}

MrTrafford,

É provável que seja porque teu campo data está sendo passado como String e não Date (supondo que a tabela no banco também tem tipo Date nesses campos, é claro),
Sugiro alterar o método para receber parâmetro já em formato Date e antes de chamar fazer a conversão.
Para converter as datas de String para Date dê uma olhada aqui:http://www.guj.com.br/articles/8

public LinkedList atividades(int idAluno, Date dataInicial, Date dataFinal) throws SQLException{ Connection conn=ConnectionFactory.getConnection(); LinkedList lista= new LinkedList(); ResultSet rs=null; String sql="SELECT idAtividade FROM atividade where idAluno = ? and diaAtividade between ? and ?;"; //seleciona os ids das atividades PreparedStatement stm= conn.prepareStatement(sql); stm.setInt(1, idAluno); stm.setDate(2, dataInicial); stm.setDate(3, dataFinal); rs=stm.executeQuery(); while(rs.next()){ atividade at= new atividade(); at.setIdAtividade(rs.getInt(1)); lista.add(at.getIdAtividade()); } return lista; }
Boa Sorte!