Foros del Web » Programando para Internet » ASP Clásico »

Problema con ASP - Split - MSSQL

Estas en el tema de Problema con ASP - Split - MSSQL en el foro de ASP Clásico en Foros del Web. Les cuento, estoy haciendo un programa de asignacion de asignaturas. El proceso es seleccionar las asignaturas (checkbox) y luego el sistema revisa si cumple los ...
  #1 (permalink)  
Antiguo 29/01/2007, 12:41
Avatar de andre_cl  
Fecha de Ingreso: enero-2007
Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 17 años, 4 meses
Puntos: 0
Problema con ASP - Split - MSSQL

Les cuento, estoy haciendo un programa de asignacion de asignaturas.

El proceso es seleccionar las asignaturas (checkbox) y luego el sistema revisa si cumple los requisitos para aprobarla, si los cumple muestra la asignatura para luego insertarla y las que no se pudieron porque habian problemas de requisitos.

El proceso de inicia cuando selecciona las asignaturas que desea insertar(textbox) y luego lo envia a la pagina donde verifica si es posible o no su inscripcion:

Código:
<% Dim ins
	   Dim sins,i,resulta,dni,periodo,curso
	 sins=Request.QueryString("c_grado")
	 ins=split(sins,",")
	 dni=InfoAl.Fields.Item("user_dni").Value
	 periodo=infoU.Fields.Item("info_periodo").Value
	 For i = LBound(ins) TO UBound(ins)
	 curso=ins(i)
         'LLAMA A FUNCION DE VERIFICACION
	 resulta=filtros(dni,curso,periodo)
	 If resulta=1 Then
         'MUESTRA QUE SE PUEDE AGREGAR
	 inscribe(curso)
	 End If
	 If resulta=0 Then
         'muestra que no es viable
	 errorsplash(curso)
	 End If
	 Next
%>
//FUNCION DE VERIFICACION
Código:
<%
Function filtros(dni,curso,periodo)
Dim Chequeo1__Curso
Chequeo1__Curso = curso

Dim prereq,existepr,nota
filtros=0
set Chequeo1 = Server.CreateObject("ADODB.Command")
Chequeo1.ActiveConnection = MM_UXXI_STRING
Chequeo1.CommandText = "dbo.CHEQ"
Chequeo1.CommandType = 4
Chequeo1.CommandTimeout = 0
Chequeo1.Prepared = true
Chequeo1.Parameters.Append Chequeo1.CreateParameter("@RETURN_VALUE", 3, 4)
Chequeo1.Parameters.Append Chequeo1.CreateParameter("@Curso", 3, 1,4,Chequeo1__Curso)
set Ch1 = Chequeo1.Execute
Ch1_numRows = 0
prereq=Ch1.Fields.Item("as_prerequisitos").Value
existepr=Ch1.Fields.Item("as_exist_prereq").Value

If existepr=0 Then
   filtros=1
End if

If existepr<>0 Then
   Dim Chequeo2__dni,Chequeo2__prereq
   Chequeo2__dni = dni
   Chequeo2__prereq = prereq
       set Chequeo2 = Server.CreateObject("ADODB.Command")
       Chequeo2.ActiveConnection = MM_UXXI_STRING
       Chequeo2.CommandText = "dbo.CHEQ2"
       Chequeo2.CommandType = 4
       Chequeo2.CommandTimeout = 0
       Chequeo2.Prepared = true
       Chequeo2.Parameters.Append Chequeo2.CreateParameter("@RETURN_VALUE", 3, 4)
       Chequeo2.Parameters.Append Chequeo2.CreateParameter("@dni", 200, 1,20,Chequeo2__dni)
       Chequeo2.Parameters.Append Chequeo2.CreateParameter("@prereq", 3, 1,4,Chequeo2__prereq)
       set Ch2 = Chequeo2.Execute
       Ch2_numRows = 0
       nota=Ch2.Fields.Item("ins_cal_final").Value
	   Ch2.Close()
       Set Ch2 = Nothing
       If nota>39 Then
		  filtros=1
       End If
End If
Chequeo1.Exit()
Ch1.Close()
Set Ch1 = Nothing
End Function
%>
-AL TRATAR DE ASIGNARLE UNA ASIGNATURA NO HAY PROBLEMA, ES DECIR, SOLO SELECCIONA AGREGAR UNA.

-PERO AL SELECCIONAR MAS DE UNA ARROJA EL SIGUIENTE PROBLEMA: Tipo de error:
ADODB.Field (0x800A0BCD)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.

En la Linea de: prereq=Ch1.Fields.Item("as_prerequisitos").Value (FUNCION VERIFICACION)

Realmente No se cual es el problema =(, quizas este en la recepcion del String con los checkbox para cortarlos e insertarlos en un arreglo. O quizas la llamada de los precedures donde es muy consecutiva... No se realmente =(
  #2 (permalink)  
Antiguo 29/01/2007, 13:13
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Problema con ASP - Split - MSSQL

Es claro que tu SP "CHEQ" no te regresa valores.

Deberias ver que tiene el parámetro "Chequeo1__Curso", quizá tienes comas en el nombre del curso y te hace mal el split

Saludos
  #3 (permalink)  
Antiguo 29/01/2007, 13:28
Avatar de andre_cl  
Fecha de Ingreso: enero-2007
Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problema con ASP - Split - MSSQL

Cita:
Iniciado por Myakire Ver Mensaje
Es claro que tu SP "CHEQ" no te regresa valores.

Deberias ver que tiene el parámetro "Chequeo1__Curso", quizá tienes comas en el nombre del curso y te hace mal el split

Saludos
Hice una impresion del contenido del array y no tenia comas, son numeros los que recibe "Chequeo1__Curso" en formato Int.

Y lo mas extraño es que se produce el error cuando chequea mas de una asignatura, por ejemplo si solo trato de asignar uno lo hace bien, pero si el array contiene mas de un elemento tiene el problema.
  #4 (permalink)  
Antiguo 29/01/2007, 14:00
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Problema con ASP - Split - MSSQL

Cita:
Iniciado por andre_cl Ver Mensaje
Hice una impresion del contenido del array y no tenia comas, son numeros los que recibe "Chequeo1__Curso" en formato Int.

Y lo mas extraño es que se produce el error cuando chequea mas de una asignatura, por ejemplo si solo trato de asignar uno lo hace bien, pero si el array contiene mas de un elemento tiene el problema.
Bueno, si recibe números es muy probable que tengas la coma como separador de miles. Pero dices que no, que no hay comas en la cifra. ok.

Insisto que para saber por que no esta regresando valores deberias hacer algo como lo siguiente:

Código:
....
Chequeo1.Parameters.Append Chequeo1.CreateParameter("@Curso", 3, 1,4,Chequeo1__Curso)
set Ch1 = Chequeo1.Execute
if Ch1.EOF Then
  Response.Write Chequeo1__Curso
  Response.end
End IF
Con eso verás el contenido que no encuentra en el filtro del SP

Saludos
  #5 (permalink)  
Antiguo 29/01/2007, 15:38
Avatar de andre_cl  
Fecha de Ingreso: enero-2007
Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problema con ASP - Split - MSSQL

Cita:
Iniciado por Myakire Ver Mensaje
Bueno, si recibe números es muy probable que tengas la coma como separador de miles. Pero dices que no, que no hay comas en la cifra. ok.

Insisto que para saber por que no esta regresando valores deberias hacer algo como lo siguiente:

Código:
....
Chequeo1.Parameters.Append Chequeo1.CreateParameter("@Curso", 3, 1,4,Chequeo1__Curso)
set Ch1 = Chequeo1.Execute
if Ch1.EOF Then
  Response.Write Chequeo1__Curso
  Response.end
End IF
Con eso verás el contenido que no encuentra en el filtro del SP

Saludos
Eee, el problema estaba en el archivo de impresion wuajaja porque el recordset se llamaba Ins entonces reemplazaba al Ins de las seleccionasas y cambiaba los valores de los cursos por codigos de asignaturas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:19.