Hola a todos, al momento de consultar un rango por fechas, no me muestra todos los registros no hace caso en el rango que especifico por decir ingreso desde '01-02-2015' hasta '03-02-2015', por fa alguien que me ayude.
en esta parte es donde el jsp recibe los parametros de las fechas,mando a llamar el metodo consultarxfecha de la clase controlador.
<%
if(request.getParameter("fecha_desde")!=null){
String fecha_desde = request.getParameter("fecha_desde");
if(request.getParameter("fecha_hasta")!=null)
{
String fecha_hasta = request.getParameter("fecha_hasta");
controladorAsistencia controladorAsistenciaTrabajadores = new controladorAsistencia();
Iterator<modeloAsistencia> it_asistenciaTrabajadores;
it_asistenciaTrabajadores = controladorAsistencia.consultarxfecha(fecha_desde,fecha_hasta).iterator();
int contador = 0;
if (it_asistenciaTrabajadores != null) {
%>
en donde viene el problema a la hora que ejecuta la consulta:
la clase controlador
me muestra el siguiente mensaje:
IMPRIMIENDO CONSULTA:SELECT RA.ID_REGISTRO_ASISTENCIA,T.APELLIDO_PATERNO_T,T.APELLIDO_MATERNO_T,T.NOMBRE_T,RA.FECHA_REGISTRO FROM REGISTRO_ASISTENCIA RA,TRABAJADOR T WHERE RA.REGISTRO_FECHA BETWEEN '01-02-2015' AND '03-02-2015' AND T.ID_TRABAJADOR=RA.ID_TRABAJADOR;
Error en fechas: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
public List<modeloAsistencia> consultarxfecha(String fecha_desde,String fecha_hasta) {
PreparedStatement psmt = null;
ResultSet tabla = null;
List<modeloAsistencia> list = new ArrayList<modeloAsistencias>();
String consultar = "SELECT RA.ID_REGISTRO_ASISTENCIA,T.APELLIDO_PATERNO_T,T.APELLIDO_MATERNO_T,T.NOMBRE_T,RA.FECHA_REGISTRO FROM REGISTRO_ASISTENCIA RA,TRABAJADOR T WHERE ";
if (fecha_desde !=null){
consultar +=" RA.REGISTRO_ASISTENCIA BETWEEN '"+fecha_desde+"'";
}
if(fecha_hasta !=null){
consultar +="AND '"+fecha_hasta+"'";
}
consultar += "AND T.ID_TRABAJADOR=RA.ID_TRABAJADOR;";
System.out.println("IMPRIMIENDO CONSULTA:"+consultar);
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mantenimiento");
Connection con = ds.getConnection();
psmt = con.prepareStatement(consultar);
if (fecha_desde != null) {
psmt.setString(1, fecha_desde);
}
if (fecha_hasta != null) {
psmt.setString(2, fecha_hasta);
}
tabla = psmt.executeQuery();
while (tabla.next()) {