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

En que me equivoco con este codigo?

Estas en el tema de En que me equivoco con este codigo? en el foro de ASP Clásico en Foros del Web. A algún iluminado que me ayude hace días que peleo con este codigo y debe de ser una pabada lo que pasa pero no lo ...
  #1 (permalink)  
Antiguo 08/11/2003, 16:51
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
En que me equivoco con este codigo?

A algún iluminado que me ayude hace días que peleo con este codigo y debe de ser una pabada lo que pasa pero no lo encuentro al error, no se si es porque veo el codigo las 24 hs. o que pero no lo encuentro al error aquí les paso el codigo y el error que me tira:
Lo que pretendo hacer con este codigo es que cuando venga de un link que chequee si es ese codgio que viene del link el que esta en la base y si es ese que actualize ese campo y los otros que pongo en el Update.
Codigo:

<%
sql = "select * from Tabla where CODIGO = '" & request.QueryString("code") & "'"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "lugar de la base de datos acces"
set RS = Conn.Execute(sql)

if (not RS.eof) then

Sql = "UPDATE Tabla"
Sql = Sql & " SET CODIGO = 0, "
Sql = Sql & " Status = 'Activo'"
sql = sql&" WHERE CODIGO = '" & request.QueryString("code") & "'"
set RS = Conn.Execute(sql)
response.redirect "pagina.asp"
else
response.redirect "otrapagina.asp"
end if
%>

Error que me tira:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/afiliate/activa.asp, line 15
donde la linea Nº 15 es el primer set RS = Conn.Execute(sql).

Gracias anticipadas al que me de una mano con esto.
  #2 (permalink)  
Antiguo 08/11/2003, 17:42
Avatar de sodalex  
Fecha de Ingreso: agosto-2002
Ubicación: Guatire
Mensajes: 46
Antigüedad: 22 años, 8 meses
Puntos: 0
INTENTA ASÍ

sql = "select * from Tabla where CODIGO LIKE '%" & request.QueryString("code") & "%'"

O ASÍ

sql = "select * from Tabla where CODIGO = '" & request.QueryString("code") & "'"
__________________
Johnny Sosa
Director General
Grupo Dotcom
www.grupodotcom.com
  #3 (permalink)  
Antiguo 08/11/2003, 23:29
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
algo pasó con mi computadora que no puedo pegar aqui tu código, pero bueno...

Estás trayendo en la sentencia SQL un campo que sea igual a request.querystring("codigo") así entre '', quiere decir que es un campo de tipo string 'valor'...

Ahora, si no es fin de archivo (EOF) le estás mandando una actualización al campo código, y le estás diciendo que sea igual a 0, pero un cero numérico, sin '', en todo caso debería ir SET codigo= '0'


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 09/11/2003, 14:45
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
Siguen sin andar!!

Amigos, sigue sin funcionar el script, probe lo que me dicen ustedes pero no anda.

Sodalex probe las dos formas que me pasas y me sigue tirando el mismo error.
u_goldman lo mismo me tira el mismo error con lo que me dices.

Podrían postear el codigo entero como lo postee yo y así ver como quedaría y así lo pruebo corregido.

Desde ya muchas gracias por su ayuda.
  #5 (permalink)  
Antiguo 09/11/2003, 16:36
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
if (not RS.eof) then

Sql = "UPDATE Tabla"
Sql = Sql & " SET CODIGO = '0', "
Sql = Sql & " Status = 'Activo'"
sql = sql&" WHERE CODIGO = '" & request.QueryString("code") & "'"
set RS = Conn.Execute(sql)
response.redirect "pagina.asp"
else
response.redirect "otrapagina.asp"
end if
%>


Según yo con eso debe funcionar, dinos cual es la línea en la que te tira el error

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 09/11/2003, 20:38
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
Este es el error

El error me lo tira en la linea 15 y en la linea 15 esta el primer
set RS = Conn.Execute(sql)

sql = "select * from Tabla where CODIGO = '" & request.QueryString("code") & "'"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "lugar de la base de datos acces"
set RS = Conn.Execute(sql) (Aca me dice que esta el error)

La verdad no se que pasa.

A ver si ustedes pueden con este codigo que parece sencillo pero no anda, no se que pasa.
Cualquier cosa diganme, estoy a sus ordenes.

Gracias anticipadas
  #7 (permalink)  
Antiguo 09/11/2003, 23:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
El error que te envía es de un tipo de dato incorrecto, que tipo de dato tiene el campo donde realizas esta búsqueda?
Seguramente entonces no es de texto, si no es de texto quítale las comillas simpes al request.querystring

sql = "select * from Tabla where CODIGO =" & request.QueryString("code")


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 10/11/2003, 18:05
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
Gracias amigo!!11

Amigos muchas gracias por su ayuda.

u_goldman lo que me dijiste que haga estaba perfecto, funciono de 10, muchisimas gracias por la ayuda, cualquier cosa que necesiten ya saben donde encontrarme.

Saludos y gracias nuevamente.
Cualquier cosa les digo.
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 16:56.