Error al extraer registros de mssql severe

04/12/2004 - 17:56 por aerovoyager | Informe spam
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

#1 Maxi
05/12/2004 - 07:17 | Informe spam
Hola, proba la query desde el Query Analizer, pero por el error me da la
sensacion nomasd que es un problema de la aplicacion cliente (quizas el tipo
de cursor que este utilizando).


"aerovoyager" escribió en el mensaje
news:
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


Preguntas similares