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

Error: Se esperaba un objeto

Estas en el tema de Error: Se esperaba un objeto en el foro de ASP Clásico en Foros del Web. Tengo una página en Asp. Quiero q me haga una consulta sql en otra tabla, q anteriormente he mostrado el campo a relacionar. El problema ...
  #1 (permalink)  
Antiguo 24/04/2006, 03:49
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
Error: Se esperaba un objeto

Tengo una página en Asp. Quiero q me haga una consulta sql en otra tabla, q anteriormente he mostrado el campo a relacionar.

El problema q tengo sq me dice q se esperaba un objeto, y el error esta en la linea q resalto en negrita. Aver si alguien me podría ayudar x favor. Muchas gracias.

Cita:
<%
conexion112= new ActiveXObject("ADODB.Connection")
registro112=new ActiveXObject("ADODB.Recordset")
conexion112.Open ("datos")
Fnc_Sql = "Select * from 902_DATOS_GENERALES "
registro112.Open (Fnc_Sql, conexion112, 3, 0x0002)
%>

<input type=text value=<% registro112.MoveLast()
%>
<%=registro112("IdEmpresa")%>
name="IdEmpresa112" >

<%
conexion93= new ActiveXObject("ADODB.Connection")
registro93=new ActiveXObject("ADODB.Recordset")
conexion93.Open ("datos")
Fnc_Sql = "Select NombreDelegacion from 904_DELEGACIONES_DE_EMPRESA where IdEmpresa= " & CINT("IdEmpresa112")
registro93.Open (Fnc_Sql, conexion93, 3, 0x0002)
%>

Última edición por 333333; 24/04/2006 a las 03:55
  #2 (permalink)  
Antiguo 24/04/2006, 04:47
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 18 años, 7 meses
Puntos: 1
Prueba así a ver qué te cuenta...
Cita:
Iniciado por 333333
Fnc_Sql = "Select NombreDelegacion from 904_DELEGACIONES_DE_EMPRESA where IdEmpresa= '" & request.form("IdEmpresa112") & "'"
  #3 (permalink)  
Antiguo 24/04/2006, 04:53
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
Muchas gracias x la ayuda.

Ahora me sale este error:

Cita:
ADODB.Recordset error '800a0bb9'

Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.

/Equipos.asp, línea 74
La línea 74 es esta vez :
Cita:
registro93.Open (Fnc_Sql, conexion93, 3, 0x0002)
Saludos!
  #4 (permalink)  
Antiguo 24/04/2006, 09:37
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 18 años, 7 meses
Puntos: 1
Esto se me hace raro... prueba así:
Código:
 registro93.Open (Fnc_Sql, conexion93, 3, 2)
  #5 (permalink)  
Antiguo 24/04/2006, 10:13
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
Vale me sigue dando error. Asiq para no marearte te pondre todo el codigo q tengo en esta página. Aunq igual te mareo aun mas..

Cita:
<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title>(Type a title for your page here)</title>
<%@ LANGUAGE=JScript %>

<meta name="GENERATOR" content="Arachnophilia 4.0">
<meta name="FORMATTER" content="Arachnophilia 4.0">
<form action="Equipos1.asp" METHOD =POST>
</script>

</head>

<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
<%
conexion20= new ActiveXObject("ADODB.Connection")
registro20=new ActiveXObject("ADODB.Recordset")
conexion20.Open ("datos")
Fnc_Sql = "Select * from 902_DATOS_GENERALES "
registro20.Open (Fnc_Sql, conexion20, 3, 0x0002)
%>

<%
conexion21= new ActiveXObject("ADODB.Connection")
registro21=new ActiveXObject("ADODB.Recordset")
conexion21.Open ("datos")
Fnc_Sql = "Select * from 910_ENTORNO_SIS_OPERATIVO "
registro21.Open (Fnc_Sql, conexion21, 3, 0x0002)
%>

<%
conexion22= new ActiveXObject("ADODB.Connection")
registro22=new ActiveXObject("ADODB.Recordset")
conexion22.Open ("datos")
Fnc_Sql = "Select * from 912A_TIPO_RED_LOCAL "
registro22.Open (Fnc_Sql, conexion22, 3, 0x0002)
%>

<%
conexion23= new ActiveXObject("ADODB.Connection")
registro23=new ActiveXObject("ADODB.Recordset")
conexion23.Open ("datos")
Fnc_Sql = "Select * from 912B_RED_CORPORATIVA "
registro23.Open (Fnc_Sql, conexion23, 3, 0x0002)
%>

<%
conexion24= new ActiveXObject("ADODB.Connection")
registro24=new ActiveXObject("ADODB.Recordset")
conexion24.Open ("datos")
Fnc_Sql = "Select * from 912C_OTRAS_REDES "
registro24.Open (Fnc_Sql, conexion24, 3, 0x0002)
%>
<%
conexion112= new ActiveXObject("ADODB.Connection")
registro112=new ActiveXObject("ADODB.Recordset")
conexion112.Open ("datos")
Fnc_Sql = "Select * from 902_DATOS_GENERALES "
registro112.Open (Fnc_Sql, conexion112, 3, 0x0002)
%>

<input type=text value=<% registro112.MoveLast()
%>
<%=registro112("IdEmpresa")%>
name="IdEmpresa112" >

<%
conexion93= new ActiveXObject("ADODB.Connection")
registro93=new ActiveXObject("ADODB.Recordset")
conexion93.Open ("datos")
Fnc_Sql = "Select NombreDelegacion from 904_DELEGACIONES_DE_EMPRESA where IdEmpresa= '" & Request.form("IdEmpresa112") & "'"
registro93.Open (Fnc_Sql, conexion93, 3, 2)
%>

<br>
<center>
<h3>EQUIPOS INFORMÁTICOS CON ACCESO A DATOS</h3>
</center>
<br>
Id de Empresa es
<% registro20.MoveLast()
{%>

<%=registro20("IdEmpresa")%>
<%
}

%>
<br>
Empresa:
<% registro20.MoveLast()
{%>

<%=registro20("Empresa")%>
<%
}

%>


<br>





<input type=text value=<% registro20.MoveLast()
{%>
<%=registro20("IdEmpresa")%>
name="IdEmpresa20" style="visibility:hidden">

<br>


<input type=text value=
<%=registro20("Empresa")%>
<%
}%> name="20" style="visibility:hidden">

<br>
<h3>Nombre de delegacion :
<select name= "id_delegacion">
<% while (!registro93.eof)
{ %>
<option value="<%=registro93 ("NombreDelegacion") %>">
<%=registro93 ("NombreDelegacion")%>
<%registro93.Movenext();
}
registro93.close()
conexion93.close()
%>
</select>

<br>

<br>
<h3>Ref
<input type=text name="refinfor">

<br>
<h3>Tipo equipo informático
<input type=text name="tipoinfor">
<br>

<h3>Marca
<input type=text name="marcainfor">
<br>

<h3>Modelo
<input type=text name="modeloinfor">
<br>
<h3>Serie del equipo
<input type=text name="serieinfor">
<br>

<h3>Uso genérico
<input type=text name="usoinfor">
<br>

<h3>Seguridad integrada en el equipo:
<input type=text name="seginfor">
<br>

<h3>Responsable del mantenimiento:
<input type=text name="respinfor">
<br>

<h3>Usuario Responsable:
<input type=text name="usuinfor">
<br>

<h3>Descripción S.O. :
<select name= "desso">
<% while (!registro21.eof)
{ %>
<option value="<%=registro21 ("DescripcionSO") %>">
<%=registro21 ("DescripcionSO")%>
<%registro21.Movenext();
}
registro21.close()
conexion21.close()
%>
</select>

<br>

<h3>Red local :

<select name= "destip">
<% while (!registro22.eof)
{ %>
<option value="<%=registro22 ("DescTipRedLocal") %>">
<%=registro22 ("DescTipRedLocal")%>
<%registro22.Movenext();
}
registro22.close()
conexion22.close()
%>
</select>

<br>

<h3>Red Corporativa :

<select name= "destipcorp">
<% while (!registro23.eof)
{ %>
<option value="<%=registro23 ("DescTipRedCorp") %>">
<%=registro23 ("DescTipRedCorp")%>
<%registro23.Movenext();
}
registro23.close()
conexion23.close()
%>
</select>


<br>

<h3>Otras redes locales :
<select name= "destipotra">
<% while (!registro24.eof)
{ %>
<option value="<%=registro24 ("DescTipOtraRed") %>">
<%=registro24 ("DescTipOtraRed")%>
<%registro24.Movenext();
}
registro24.close()
conexion24.close()
%>
</select>


<br>


<h3>Recursos Compartidos:
<input type=text name="recurinfor">
<br>

<h3>Proveedor Internet:
<input type=text name="provinfor">
<br>

<h3>Línea Acceso:
<input type=text name="lineainfor">
<br>
<br>
<br>

<input type="submit" value="ALTA">


</form>




</body>

</html>
  #6 (permalink)  
Antiguo 24/04/2006, 12:08
 
Fecha de Ingreso: junio-2005
Mensajes: 6
Antigüedad: 19 años
Puntos: 0
hola.

Creo que el problema es que al usar la instruccion CINT es para castear una variable a entero y el variable la escribes entre comillas cosa que no hace asi que propongo esta solucion.

Fnc_Sql = "Select NombreDelegacion from 904_DELEGACIONES_DE_EMPRESA where IdEmpresa= " & CINT(IdEmpresa112)
  #7 (permalink)  
Antiguo 24/04/2006, 17:19
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
El problema es que no ha intentado correr la consulta desde su propio gestor de BD's y revisando la consulta generada con un response.write

Ese error es casi siempre por que se ha formado mal (los parámetros numéricos estan vacios) o esta mal escrita la sentencia SQL
  #8 (permalink)  
Antiguo 25/04/2006, 01:19
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
mondroinfame : gracias x la ayuda, pero me dice q 'IdEmpresa112' no está definido.

Myakire: ¿q me recomiendas hacer entonces? Aunq ponga en la pagina anterior La id de empresa para compararla en esta pagina me da el mismo error. ¿Como podria hacer la sentencia sql para q me seleccione solo los datos esa Id? La Id al ser autonumerica siempre es la ultima.

Muchas gracias x la ayuda a los 2. Saludos!
  #9 (permalink)  
Antiguo 25/04/2006, 17:59
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
Bueno, no voy a leer todo el código que posteaste, así que partiré de este fragmento:

Cita:
<input type=text value=<% registro112.MoveLast()
%>
<%=registro112("IdEmpresa")%>
name="IdEmpresa112" >

<%
conexion93= new ActiveXObject("ADODB.Connection")
registro93=new ActiveXObject("ADODB.Recordset")
conexion93.Open ("datos")
Fnc_Sql = "Select NombreDelegacion from 904_DELEGACIONES_DE_EMPRESA where IdEmpresa= '" & Request.form("IdEmpresa112") & "'"
De acuerdo que al programar en ASP es fácil mezclar la capa de presentación con la de lógica de negocios pero esto es ridículo, jejeje
Cambia lo anterior por:

Cita:
<% registro112.MoveLast()%>
<input type=text value=<%=registro112("IdEmpresa")%> name="IdEmpresa112">
<%
set conexion93=Server.CreateObject("ADODB.Connection")
set registro93=Server.CreateObject("ADODB.recordset")
conexion93.Open "DNS=datos" 'Deberias usar OleDB no ODBC
Fnc_Sql = "Select NombreDelegacion from 904_DELEGACIONES_DE_EMPRESA where IdEmpresa= " & CInt(Trim(Request("IdEmpresa112")))
registro93.Open Fnc_Sql, conexion93, 3, 2
..... código asp que ese esos registros ...
registro93.close
conexion93.close
set registro93 = nothing
set conexion93 = nothing
%>
Bueno, con eso si existe una tabla llamada 904_DELEGACIONES_DE_EMPRESA en una BD conectado a un ODBC llamado "Datos" y que además tenga dos campos por lo menos llamados NombreDelegacion y IdEmpresa y que este último sea numérico, ya no debe de marcar error en esa linea.

Veo que tienes muuuuuchos errores en tu página, pero los que más me pusieron la "carne de gallina" es que tienes una conexion por recordset y un recordset por consulta

Se usa UNA conexión por BD y a menos que vayas a usar todos las tablas al mismo tiempo, un mismo objeto RecordSet para tus consultas, eso si, cerrándolo, o si quieres crear un RS para cada consulta, pues por lo menos destruye los que ya creaste con anterioridad y que no uses.

Saludos
  #10 (permalink)  
Antiguo 26/04/2006, 01:30
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
Weno me sigue dando errores. No puedo quitar la conexiones y los recordset, xq sino me dice q la conexion no esta definida.

Muchas gracias x la ayuda. Creo q mejor va a ser ir donde mi profesora a q me ayude a mejorar el codigo.

Saludos!
  #11 (permalink)  
Antiguo 26/04/2006, 17:31
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
Cita:
Iniciado por 333333
Weno me sigue dando errores. No puedo quitar la conexiones y los recordset, xq sino me dice q la conexion no esta definida.

Muchas gracias x la ayuda. Creo q mejor va a ser ir donde mi profesora a q me ayude a mejorar el codigo.

Saludos!
  #12 (permalink)  
Antiguo 27/04/2006, 03:15
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
Sq me ha enseñado de una forma distinta, xq el codigo me sigue sin ir, aun con tu ayuda. No os quiero volver locos con mi codigo.

Solo se hacerlo con ODBC, y si no pongo todas las conexiones lo q quiero hacer no me va.

Me parece q de todas formas el error esq quiero igualar un numero con un autonumerico.
  #13 (permalink)  
Antiguo 27/04/2006, 03:26
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 18 años, 7 meses
Puntos: 1
Ánimo ánimo, ya nos contarás en qué ha terminado la aventura... Pero que te quede claro que no nos estás volviendo locos, al contrario: ESTAMOS DESEANDO AYUDARTE!!!


P.D: Yo que tú seguiría preguntando en este mismo hilo porque no todos los días tiene uno la suerte de que participe en su post el gran MYAKIRE!!!
  #14 (permalink)  
Antiguo 27/04/2006, 03:59
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
X el momento lo q he hecho ha sido quitar de la select la opcion de q sea la id de la otra pagina. Asi puedo seguir viendo errores en las siguientes páginas.

Y weno ahi va mi codigo...

Cita:
<%
conexion89= new ActiveXObject("ADODB.Connection")
registro89=new ActiveXObject("ADODB.Recordset")
conexion89.Open ("datos")
Fnc_Sql = "Select IdEntornoSO from 910_ENTORNO_SIS_OPERATIVO where DescripcionSO='"+Request.QueryString("desso")+"'"
registro89.Open (Fnc_Sql, conexion89, 3, 0x0002)
%>
<br>El Id del entorno So es:
<input type=text value=
<%=registro89("IdEntornoSO")%>
name="IdEntornoSO89" >
Lo que quiero hacer esq muestre en una caja de texto segun la descripcion del desso, la id para luego guardarla.

Me da este error:
Cita:
ADODB.Field error '80020009'

El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
El error esta en negrita.

Seguramente tenga unos cuantos fallos..El dato de desso esta seleccionado en la anterior asp.
Muchas gracias. Saludos!
  #15 (permalink)  
Antiguo 03/05/2006, 01:14
 
Fecha de Ingreso: agosto-2005
Mensajes: 221
Antigüedad: 18 años, 9 meses
Puntos: 4
Ya lo he arreglado. Lo unico q he hecho ha sido quitar una comilla sin darme cuenta, y probe a quitarle otra.

Cita:
Fnc_Sql = "Select NombreDelegacion from 904_DELEGACIONES_DE_EMPRESA where IdEmpresa = "+Request.Form("IdEmpresa112")+" "
Y asi ya me va bien. Muchas gracias x la ayuda. Saludos.
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 13:20.