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

Problema de condiciones en ASP

Estas en el tema de Problema de condiciones en ASP en el foro de ASP Clásico en Foros del Web. Tengo este sencillo codigo: Código HTML: If Request.Cookies("usuari") <> "" Then nueva="0" Else nueva="1" End if Pero me da error en la primera linea: Error ...
  #1 (permalink)  
Antiguo 02/06/2005, 08:37
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
Problema de condiciones en ASP

Tengo este sencillo codigo:
Código HTML:
If Request.Cookies("usuari") <> "" Then
nueva="0"
Else
nueva="1"
End if
Pero me da error en la primera linea:
Error de compilación de Microsoft JScript error '800a03ec'

Se esperaba ';'

/seccions/index.asp, línea 44

If Request.Cookies ("usuari") <> "" Then



.....
no entiendo que le puede pasar..
please me urge bastante, gracias por adelantado
  #2 (permalink)  
Antiguo 02/06/2005, 08:48
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
por el resto del código para poder ayudarte mas... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 02/06/2005, 08:56
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
ahí no está el problema
vendrá de alguna línea anterior
  #4 (permalink)  
Antiguo 02/06/2005, 09:45
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
ok poz entonces les copio todo el codigo de la pagina:
<%@LANGUAGE="JAVASCRIPT"%>
<!--#include file="../Connections/Esporlesbc.asp" -->
<%
var Novetats = Server.CreateObject("ADODB.Recordset");
Novetats.ActiveConnection = MM_Esporlesbc_STRING;
Novetats.Source = "SELECT * FROM Novetats WHERE Acceptat=1";
Novetats.CursorType = 0;
Novetats.CursorLocation = 2;
Novetats.LockType = 1;
Novetats.Open();
var Novetats_numRows = 0;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-color: #FFCC99;
}
-->
</style></head>

<body topmargin="0" bottommargin="0" >
<table width="560" border="0" align="left" cellpadding="0" cellspacing="3">
<tr>
<td><table width="560" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td bgcolor="#CC9933"><div align="center"><strong>Novetats</strong></div></td>
</tr>
</table></td>
</tr>
<%

If Request.Cookies("usuari") <> "" Then
nueva="0"
Else
nueva="1"
End if

If nueva="1" Then
%> <tr>
<td><table width="560" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFF66">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="56%"><% Response.Write(Novetats.Fields("Titol")) %>
</td>
<td width="44%"><div align="right"><% Response.Write(Novetats.Fields("Data")) %></div></td>
</tr>
</table></td>
</tr>
<tr>
<td><div align="center">
<p><% Response.Write(Novetats.Fields("Novetat")) %></p>
<p>&nbsp;</p>
<table width="30%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center"><strong>Comentaris (5) </strong></div></td>
</tr>
</table>
</div></td>
</tr>
</table></td>
</tr>
<% Else %>
<tr>
<td><table width="560" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFF99">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="56%"><% Response.Write(Novetats.Fields("Titol")) %></td>
<td width="44%"><div align="right">
<% Response.Write(Novetats.Fields("Data")) %>
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td><div align="center">
<p>
<% Response.Write(Novetats.Fields("Novetat")) %>
</p>
<p>&nbsp;</p>
<table width="30%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center"><strong>Comentaris (5) </strong></div></td>
</tr>
</table>
</div></td>
</tr>
</table></td>
</tr>
<% End If %>
</table>


<%
Novetats.Close();
%>
</body>
</html>
  #5 (permalink)  
Antiguo 02/06/2005, 09:54
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
me parece que estás cruzando sentencias vbscript cuando le has indicado que es jscript

nunca he usado jscript, pero las sentencias que usas son vbscript(y no creo que puedan usarse con jscript) y las terminas en ; (como en jscript)

en resumen, que yo lo veo muy raro.
  #6 (permalink)  
Antiguo 02/06/2005, 09:59
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
que tendria que cambiar para passarlo a vbscript? la conexion a la BD o las cndiciones?
  #7 (permalink)  
Antiguo 02/06/2005, 10:31
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
<%@LANGUAGE="JAVASCRIPT"%> por <%@LANGUAGE="VBScript"%>
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #8 (permalink)  
Antiguo 02/06/2005, 10:53
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
ok, he echo este cambio i he quitado todos lo ;
i ahora me da el siguiente error:

Error de Microsoft VBScript en tiempo de ejecución error '800a000d'

No coinciden los tipos: 'var'

D:\XVRT\ESPORLESBC.COM\HTML\SECCIONS\../Connections/Esporlesbc.asp, línea 8
  #9 (permalink)  
Antiguo 02/06/2005, 11:03
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
ahora, he conseguido evitar ese otro error, k nose como lo he echo, pero la qüestion es k el error de ahora es el siguiente:

Error de Microsoft VBScript en tiempo de ejecución error '800a000d'

No coinciden los tipos: 'var'

/Connections/Esporlesbc.asp, línea 8


i el contenido del Esporlesbc.asp es :

Código:
<%
// FileName="Connection_odbc_conn_dsn.htm"
// Type="ADO" 
// DesigntimeType="ADO"
// HTTP="true"
// Catalog=""
// Schema=""
var MM_Esporlesbc_STRING = "dsn=eldsndemiweb;"
%>
  #10 (permalink)  
Antiguo 02/06/2005, 11:22
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
es que var es de jscript, no de vbscript. sacalo en todos lados exepto acá:

var Novetats = Server.CreateObject("ADODB.Recordset")

que lo debés reemplazar por "set":

set Novetats = Server.CreateObject("ADODB.Recordset")
__________________
...___...
  #11 (permalink)  
Antiguo 02/06/2005, 11:36
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
... siguiente error:
Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'

Se requiere un objeto: '[string: "dsn=ash.es.esporlesb"]'

/Connections/Esporlesbc.asp, línea 8
  #12 (permalink)  
Antiguo 02/06/2005, 11:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Puedes poner el codigo de la pagina del #INCLUDE?
  #13 (permalink)  
Antiguo 02/06/2005, 11:56
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
Código:
<%@LANGUAGE="VBScript"%>
<!--#include virtual="/Connections/Esporlesbc.asp"-->
<%
set Novetats = Server.CreateObject("ADODB.Recordset")
Novetats.ActiveConnection = MM_Esporlesbc_STRING
Novetats.Source = "SELECT *  FROM Novetats WHERE Acceptat=1"
Novetats.CursorType = 0
Novetats.CursorLocation = 2
Novetats.LockType = 1
Novetats.Open()
set Novetats_numRows = 0
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
	background-color: #FFCC99;
}
-->
</style></head>

<body topmargin="0" bottommargin="0" >
<table width="560"  border="0" align="left" cellpadding="0" cellspacing="3">
  <tr>
    <td><table width="560"  border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
      <tr>
        <td bgcolor="#CC9933"><div align="center"><strong>Novetats</strong></div></td>
      </tr>
    </table></td>
  </tr>
 <% 
 
If Request.Cookies("usuari") <> "" Then
nueva="0"
Else
nueva="1"
End if

If nueva="1" Then
 %> <tr>
    <td><table width="560"  border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFF66">
      <tr>
        <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="56%"><% Response.Write(Novetats.Fields("Titol")) %>
</td>
              <td width="44%"><div align="right"><% Response.Write(Novetats.Fields("Data")) %></div></td>
            </tr>
          </table></td>
      </tr>
      <tr>
        <td><div align="center">
          <p><% Response.Write(Novetats.Fields("Novetat")) %></p>
          <p>&nbsp;</p>
          <table width="30%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><div align="center"><strong>Comentaris (5) </strong></div></td>
              </tr>
          </table>
          </div></td>
      </tr>
    </table></td>
  </tr>
<% Else %>
   <tr>
    <td><table width="560"  border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFF99">
      <tr>
        <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="56%"><% Response.Write(Novetats.Fields("Titol")) %></td>
              <td width="44%"><div align="right">
                    <% Response.Write(Novetats.Fields("Data")) %>
              </div></td>
            </tr>
          </table></td>
      </tr>
      <tr>
        <td><div align="center">
          <p>
            <% Response.Write(Novetats.Fields("Novetat")) %>
          </p>
          <p>&nbsp;</p>
          <table width="30%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><div align="center"><strong>Comentaris (5) </strong></div></td>
              </tr>
          </table>
          </div></td>
      </tr>
    </table></td>
  </tr>
  <% End If %>
</table>
</body>
</html>
  #14 (permalink)  
Antiguo 02/06/2005, 12:05
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Ese es el código que posteaste al principio, yo me refiero al código del archivo que utilizas en el include, porque ahí es donde te está dando error, ahora el error (por lo que puedo imaginar al leer la ruta) está en el string de conexión.
Postea el código del archivo Esporlesbc.asp

Luego de la edicion

Disculpa, no había visto el código, ya lo habías puesto en el POST.
El error es que vuelves a utilizar VAR, y eso es propio del otro lenguaje que estabas usando, en VB para definir una variable, como en este caso, debes usar Dim, y para definir objetos con la palabra Set. Borra ese Var y cuentanos que paso.
SAludos.
  #15 (permalink)  
Antiguo 02/06/2005, 13:48
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
Código:
<%
// FileName="Connection_odbc_conn_dsn.htm"
// Type="ADO" 
// DesigntimeType="ADO"
// HTTP="true"
// Catalog=""
// Schema=""
SET MM_Esporlesbc_STRING = "dsn=midsn"
%>
ese es el codigo del Esporlesbc.asp
  #16 (permalink)  
Antiguo 02/06/2005, 14:38
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Bueno el error esta en el SET, el set se utiliza para instanciar objetos, ahi lo unico que estás haciendo es definir el valor de una variable, en este caso la variable "MM_Esporlesbc_STRING". Quita el set de esa linea y postea el resultado de tu prueba. Saludos.
  #17 (permalink)  
Antiguo 02/06/2005, 15:05
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 6 meses
Puntos: 4
Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'

Se requiere un objeto: '[number: 0]'

/seccions/index.asp, línea 11

la linea 11 del index.asp es:
set Novetats_numRows = 0
  #18 (permalink)  
Antiguo 02/06/2005, 15:22
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
y Por que igual a cero, que es lo que estas tratando de hacer??

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #19 (permalink)  
Antiguo 02/06/2005, 15:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Es que claro, te dan siempre los mismos errores. Mira, lo primero que debes hacer es acrodarte que la palabra SET nomas se usa para instanciar objetos, no para definir variables, si quieres definir una variables usas la palabra reservada DIM como te dije en un post anterior. Entonces si no estás instanciando ningún objeto, borra el set.
Cuando digo instanciar un objeto, me refiero a lineas como estas:

SET ObjName = Server.CreatEobject("ADODB.COnnection")
SET RS = Server.CreateObject("ADODB.RecordSet")

etc, etc.

Ahi es obligatorio usar SET porque estás definiendo una variable que contendrá un objeto, si la variable NO contiene un objeto, entonces para definir una variable que contendrá algún tipo de dato, como ser un entero, una cadena de texto, un valor boleano, etc, se usa DIM y si no quieres definirla con DIM tampoco es necesario que lo hagas, a no ser que tengas la directiva OPTION EXPLICIT = TRUE.
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 19:00.