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

Sintaxis mal

Estas en el tema de Sintaxis mal en el foro de ASP Clásico en Foros del Web. Estoy en una página de ASP con este código: If myRS.EOF Then mainMessage="userInfo=nobase" Else If StrComp(myRS("password"), inPassword, vbTextCompare) =0 Then mainMessage="userInfo=ok" Else mainMessage = "userInfo=no" ...
  #1 (permalink)  
Antiguo 18/05/2007, 09:14
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Sintaxis mal

Estoy en una página de ASP con este código:

If myRS.EOF Then
mainMessage="userInfo=nobase"
Else
If StrComp(myRS("password"), inPassword, vbTextCompare) =0
Then
mainMessage="userInfo=ok"
Else
mainMessage = "userInfo=no"
End If
End If

Yo creo que está bien, pero me da un error de que espera un 'Then'. Entonces hago esto:

If myRS.EOF Then
mainMessage="userInfo=nobase"
Else
If StrComp(myRS("password"), inPassword, vbTextCompare) =0 Then
mainMessage="userInfo=ok"
Else
mainMessage = "userInfo=no"
End If
End If

Entonces me da un error diciendo que estas líneas están mal:

Dim myConnection
Set myConnection=Server.CreateObject("ADOB.Connection" )

Me estoy volviendo loco. Cómo es el código correcto??
__________________
EL conocimiento es la base del poder
  #2 (permalink)  
Antiguo 18/05/2007, 09:35
Avatar de Shade  
Fecha de Ingreso: noviembre-2006
Mensajes: 262
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Sintaxis mal

Te aconsejaria que lo postearas en ASP xD Te equivocaste de seccion.
  #3 (permalink)  
Antiguo 18/05/2007, 09:42
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años, 2 meses
Puntos: 772
Re: Sintaxis mal

Movido al foro de ASP desde JavaScript.

Saludos,
  #4 (permalink)  
Antiguo 18/05/2007, 10:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Sintaxis mal

Deduzco, por lo que leo que no tienes mucha idea de ASP, supongo estas copiando de un libro o algo así, ya que tienes simples errores de omisiones de letras, es cosa de poner un poco más de atención

Set myConnection=Server.CreateObject("ADODB.Connection")

Saludos
  #5 (permalink)  
Antiguo 18/05/2007, 10:08
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

Ya había detectado ese eror, pero al subsanarlo, me da el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado
/fla/login.asp, línea 10

Os dejo todas las lineas de la conexion, a ver si encontrais el problema:

Dim myConnection
Set myConnection=Server.CreateObject("ADODB.Connection ")
myConnection.ConnectionString="DRIVER={Microsoft Acces Driver(*.mdb)};" & "DBQ=" & Server.MapPath("login.mdb")
__________________
EL conocimiento es la base del poder
  #6 (permalink)  
Antiguo 18/05/2007, 10:12
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Sintaxis mal

Tienes la BD en la raíz de tu servidor?
  #7 (permalink)  
Antiguo 18/05/2007, 10:20
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

Está en la misma carpeta que el archivo login.asp. Ya lo he rectificado, pero entonces me dice que falta un 'Then' aquí:

If myRS.EOF Then
mainMessage="userInfo=nobase"
Else
If StrComp(myRS("password"), inPassword, vbTextCompare)= 0
Then
mainMessage="userInfo=ok"
Else
mainMessage = "userInfo=no"
End If
End If

Yo no veo que falte ninguno, pero si quito el segundo que hay y lo pongo así:

If myRS.EOF Then
mainMessage="userInfo=nobase"
Else
If StrComp(myRS("password"), inPassword, vbTextCompare)= 0 Then
mainMessage="userInfo=ok"
Else
mainMessage = "userInfo=no"
End If
End If


Entonces me da este error:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado
/fla/login.asp, línea 10

Si tienes messenger y quieres que lo podamos hacer mejor, te mando el mio por privado, si estás de acuerdo.
__________________
EL conocimiento es la base del poder
  #8 (permalink)  
Antiguo 18/05/2007, 11:16
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Sintaxis mal

Cita:
If StrComp(myRS("password"), inPassword, vbTextCompare)= 0
Then
Aquí falta un Then por que lo tienes en otra linea, en ASP no puedes cortar instrucciones para colocarlas en diferentes lineas, a menos que le avises al intérprete con un guión bajo (_)

Cambia la cadena de conexión que tienes (ODBC) por esta otra (OLEDB):

Código:
  Set myConnection= Server.CreateObject("ADODB.Connection")
  myConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("login.mdb")
  #9 (permalink)  
Antiguo 19/05/2007, 01:43
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

He hecho lo que me has dicho, pero ahora me sale este error:

Microsoft JET Database Engine (0x80004005)
No se reconoce el formato de base de datos 'D:\observatorio\fla\login.mdb'.
/fla/login.asp, línea 10
__________________
EL conocimiento es la base del poder
  #10 (permalink)  
Antiguo 22/05/2007, 07:30
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Sintaxis mal

No mencionas en que formato esta la BD (2003, 2000, Xp, etc)

Pero evidentemente tienes que repararla, después de hacer una copia vas a Herramientas -> Utilidades -> Compactar y Reparar para solucionarlo, otra forma es bajarte alguna herramienta para esta misma tarea.

Saludos
  #11 (permalink)  
Antiguo 22/05/2007, 10:04
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

Estoy usando el Access 2007.
Por si acaso, he probado a guardar la base de datos en formato 2003, pero sigue sin funcionar y da el mismo error.
Qué puede estar pasando?
Vuelvo a escribir las sentencias de conexión, a ver si alguien encuentra lo que está mal.....:

Dim myConexion
Set myConexion=Server.CreateObject("ADODB.Connection")
myConexion.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("fla/login_2003.mdb"))

Otra posibilidad que he probado:

Dim myConexion
Set myConexion=Server.CreateObject("ADODB.Connection")
myConexion.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.MapPath("fla/login_2003.mdb")
myConexion.Open


AYUDA POR FAVOR!!!!!!!!!!!!
__________________
EL conocimiento es la base del poder
  #12 (permalink)  
Antiguo 22/05/2007, 12:06
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Sintaxis mal

segun la biblioteca de ConnectionStrings.com

esta es la forma que deberias tener para una base de datos Access 2007
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;

entonce quedaria asi
Código:
 Dim myConexion
Set myConexion=Server.CreateObject("ADODB.Connection")
myConexion.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;" & "DBQ=" & Server.MapPath("fla/login_2003.mdb;Persist Security Info=False;")
myConexion.Open
intentalo y ya diras

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #13 (permalink)  
Antiguo 24/05/2007, 10:23
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

He cambiado lo que me has recomendado, y algo cambia, porque ahora el mensaje de error es otro:

Microsoft Office Access Database Engine (0x80004005)
No se pudo encontrar el archivo ISAM instalable.

Esto a qué se debe?
__________________
EL conocimiento es la base del poder
  #14 (permalink)  
Antiguo 24/05/2007, 11:32
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

No hago más que probar diferentes maneras de conectar con la base de datos, y ya no se si pensar que me falta por instalar algún componente o algo.
Os pongo un enlace donde podeis bajaros los tres archivos que estoy usando, para que si podeis los probeis en vuestras máquinas a ver si funciona:

http://www.baixturia.net/rafa/login.rar

La base de datos la he guardado en formato de acces 2000.

Por favor, intentad ayudadme, que tengo que entregar este proyecto en 8 días y no puedo continuar adelante con él sin solucionar este paso.
__________________
EL conocimiento es la base del poder
  #15 (permalink)  
Antiguo 24/05/2007, 12:37
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Sintaxis mal

probemos esto, ya que tienes la conexion para Access 2007, haz una copia de tu base (espero que no sea muy grande), dejala en version 2007, y vuelve a intentarlo

ok?
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #16 (permalink)  
Antiguo 25/05/2007, 07:53
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

Lo siento, pero no entiendo lo que quieres que haga.
__________________
EL conocimiento es la base del poder
  #17 (permalink)  
Antiguo 25/05/2007, 08:43
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: Sintaxis mal

Prueba a poner correctamente esta linea:

myConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"&"DBQ=" & Server.MapPath("fla/login2000.mdb") & ";Persist Security Info=False;")


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #18 (permalink)  
Antiguo 26/05/2007, 01:35
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

Tammander, he hecho los cambios que me has dicho, y sigue dando el mismo error:

Microsoft Office Access Database Engine (0x80004005)
No se pudo encontrar el archivo ISAM instalable.

Ya no sé qué hacer!!! Te bajaste los archivos que puse en el enlace a ver si a ti te funcionan? Así podría saber si el fallo se debe a algún componente o algo que me falta por instalar, no?
__________________
EL conocimiento es la base del poder
  #19 (permalink)  
Antiguo 26/05/2007, 01:59
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Sintaxis mal

Rafa.... modifique un poco.... me funciono a mi aki en mi pc... verificalo

DESCARGA TU ARCHIVO

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #20 (permalink)  
Antiguo 26/05/2007, 05:25
 
Fecha de Ingreso: julio-2002
Mensajes: 195
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Sintaxis mal

Funciona!!!!! Funciona!!!!!
Muchísimas Gracias, Te Debo Una Pero Muy Muy Grande
__________________
EL conocimiento es la base del poder
  #21 (permalink)  
Antiguo 26/05/2007, 10:54
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Re: Sintaxis mal

y por si se preguntan que fue el por que....

DE
myConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"&"DBQ=" & Server.MapPath("fla/login2000.mdb") & ";Persist Security Info=False;")

A
myConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"&"DATA SOURCE=" & Server.MapPath("fla/login2000.mdb") & ";Persist Security Info=False;")

A CELEBRAR
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
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 05:54.