Saludos al cargar una consulta obtengo el siguiente error
Error de servidor en la aplicación '/yesp'.
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación
solicitada requiere un registro actual.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.
Detalles de la excepción: System.Runtime.InteropServices.COMException: El
valor de BOF o EOF es True, o el actual registro se eliminó; la operación
solicitada requiere un registro actual.
Error de código fuente:
Línea 66: END SELECT
Línea 67: rs = db_conx.Execute(db_sql)
Línea 68: gr_notas = rs.GetRows >>> Aqui es donde marca el error
Línea 69: rs.Close
Línea 70: rs = Nothing
Lo mas curioso es que tan solo me ocuure con 2 urls
prueba.aspx?uid00005&ano=1&sec=AM&tut&&opt=create_all y
?uid00005&ano=2&sec=CM&tut&&opt=create_all
///// CODIGO :
db_sql = "SELECT ID_ALUMNO, NOMB_ALUMNO, APEM_ALUMNO FROM ALUMNO WHERE
(ANO_ALUMNO = " & ano & ") AND (SEC_ALUMNO LIKE '" & sec & "') ORDER BY
APEM_ALUMNO"
rs = db_conx.Execute(db_sql)
gr_alumno = rs.GetRows
rs.Close
rs = Nothing
Response.Write(UBound(gr_alumno,2) & " <br>")
FOR H = 0 TO UBound(gr_alumno,2)
Response.Write(gr_alumno(2, H) & ", " & gr_alumno(1, H))
SELECT CASE ano
CASE 1
db_sql = "SELECT AREA2_LIBRETA, AREA3_LIBRETA, AREA8_LIBRETA,
AREA1_LIBRETA, AREA7_LIBRETA, AREA6_LIBRETA, AREA4_LIBRETA, AREA5_LIBRETA,
CONDUCTA_LIBRETA, TARDE_LIBRETA, FALTA_LIBRETA, OBSER_LIBRETA FROM
REPORTE_LIBRETAS WHERE (ID_ALUMNO = " & gr_alumno(0, H) & ") ORDER BY
BIMESTRE_LIBRETA"
CASE 2
db_sql = "SELECT AREA2_LIBRETA, AREA10_LIBRETA, AREA8_LIBRETA,
AREA1_LIBRETA, AREA7_LIBRETA, AREA6_LIBRETA, AREA4_LIBRETA, AREA5_LIBRETA,
AREA9_LIBRETA, CONDUCTA_LIBRETA, TARDE_LIBRETA, FALTA_LIBRETA, OBSER_LIBRETA
FROM REPORTE_LIBRETAS WHERE (ID_ALUMNO = " & gr_alumno(0, H) & ") ORDER BY
BIMESTRE_LIBRETA"
CASE 3
db_sql = "SELECT AREA2_LIBRETA, AREA10_LIBRETA, AREA1_LIBRETA,
AREA7_LIBRETA, AREA6_LIBRETA, AREA5_LIBRETA, AREA3_LIBRETA, AREA4_LIBRETA,
CONDUCTA_LIBRETA, TARDE_LIBRETA, FALTA_LIBRETA, OBSER_LIBRETA FROM
REPORTE_LIBRETAS WHERE (ID_ALUMNO = " & gr_alumno(0, H) & ") ORDER BY
BIMESTRE_LIBRETA"
CASE 4
db_sql = "SELECT AREA2_LIBRETA, AREA11_LIBRETA, AREA10_LIBRETA,
AREA1_LIBRETA, AREA12_LIBRETA, AREA9_LIBRETA, AREA4_LIBRETA,
CONDUCTA_LIBRETA, TARDE_LIBRETA, FALTA_LIBRETA, OBSER_LIBRETA FROM
REPORTE_LIBRETAS WHERE (ID_ALUMNO = " & gr_alumno(0, H) & ") ORDER BY
BIMESTRE_LIBRETA"
CASE 5
db_sql = "SELECT AREA2_LIBRETA, AREA10_LIBRETA, AREA1_LIBRETA,
AREA7_LIBRETA, AREA6_LIBRETA, AREA5_LIBRETA, AREA3_LIBRETA, AREA4_LIBRETA,
CONDUCTA_LIBRETA, TARDE_LIBRETA, FALTA_LIBRETA, OBSER_LIBRETA FROM
REPORTE_LIBRETAS WHERE (ID_ALUMNO = " & gr_alumno(0, H) & ") ORDER BY
BIMESTRE_LIBRETA"
END SELECT
rs = db_conx.Execute(db_sql)
gr_notas = rs.GetRows
rs.Close
rs = Nothing
REDIM _notas(UBound(gr_notas,1))
REDIM _alumno(UBound(gr_notas,1))
Response.Write(" - Tiene " & Ubound(gr_notas, 2)+1 & " Bimestres<br>")
FOR I = 0 TO (UBound(gr_notas,1) - 1)
FOR J = 0 TO Ubound(gr_notas, 2)
_nota = CInt(gr_notas(I,J))
IF _nota = 10000 THEN
_nota = 0
M += 1
E += Cstr(J+1) & " "
END IF
_notas(I) += _nota
NEXT
IF I = (UBound(gr_notas,1) - 1) OR I = (UBound(gr_notas,1) - 2) THEN
_notas(I) = _notas(I)
ELSE
_notas(I) = CInt(_notas(I) / (Ubound(gr_notas, 2)+1)-M)
END IF
Response.Write(gr_alumno(0,H) & " = " & _notas(I) & " [" &
(Ubound(gr_notas, 2)+1)-M & "]")
IF E <> "" THEN
Response.Write(" Area " & I+1 & ", " & E & "Bim.")
END IF
Response.Write("<br>")
E = ""
M = 0
NEXT
Response.Write (gr_notas(UBound(gr_notas,1), UBound(gr_notas,2)))
Response.Write("<br>")
Response.Write("<br>")
NEXT
//// DATO
haciendo un descarte he probado a no traer todos los datos y veo que el
problema no se limita a todos los registros solo ocurre con los primeros
registros en esas 2 consultras en especial, alguien me dijo que podrian ser
los indices pero realmente ni idea, he ejecutado las sentencias SQL
directamente desde el MSSSQL y si hay datos
Si alguien me da una mano se lo agradeceria
Leer las respuestas