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

estoy echa un lio con el tema del if

Estas en el tema de estoy echa un lio con el tema del if en el foro de ASP Clásico en Foros del Web. Yo tengo este codigo ,no entiendo pq me dice siempre false si se perfecitamente que hay un momento en el q son iguales los valores ...
  #1 (permalink)  
Antiguo 14/05/2004, 10:05
 
Fecha de Ingreso: abril-2004
Mensajes: 19
Antigüedad: 20 años, 1 mes
Puntos: 0
estoy echa un lio con el tema del if

Yo tengo este codigo ,no entiendo pq me dice siempre false si se perfecitamente que hay un momento en el q son iguales los valores tienes algo q ver con el tipo de valores q sean o con la forma de poner comillas o algo asi.El codigo es este
Do Until rs.EOF
if cod= rs("cod_socio") then
Response.Write "estoy aki dentro"
end if
rs.MoveNExt
Loop

El cod_socio es autonumerico y el cod es un atributo q lo recojo en un formulario y lo paso a la pagina nueva obteniendolo asi
dim cod
cod = Request.Querystring("CodigoUsuario")
CodigoUsuario es el atributo del formulario q mando
Un saludo y gracias!!!!
  #2 (permalink)  
Antiguo 14/05/2004, 10:40
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
El cod_socio es autonumerico y el cod es un atributo q lo recojo en un formulario y lo paso a la pagina nueva obteniendolo asi
dim cod
cod = Request.Querystring("CodigoUsuario")
Con qué método estás enviando el formulario, si lo estás envíando mediante post, no lo puedes recoger con querystring, tiene que ser con el método form del objeto request.

cod = request.form("CodigoUsuario")

Es lo único que veo raro.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 14/05/2004, 10:50
 
Fecha de Ingreso: abril-2004
Mensajes: 19
Antigüedad: 20 años, 1 mes
Puntos: 0
sigue sin funcionar

Pues lo mando con el metodo get el codigo entero es este.
<% @LANGUAGE=VBScript %>
<html>
<body>
<%
dim cod
cod = Request.Querystring("CodigoUsuario")
dim pass
pass = Request.Querystring("PassUsuario")
dim tipo
tipo = Request.Querystring("TipoUsuario")

dim cn
dim strODBC
dim strSQL
dim rs
strODBC="FILEDSN=Apw2Tienda.dsn"
strSQL="Select * from Socio"
set cn=Server.CreateObject("ADODB.Connection")
cn.Open StrODBC
Set rs=Server.CreateObject("ADODB.RecordSet")
set rs = cn.Execute(strSQL)

Do Until rs.EOF
if cod=rs("cod_socio") then
Response.Write "estoy aki dentro"
end if
rs.MoveNExt
Loop


%>

</html>
</body>
  #4 (permalink)  
Antiguo 14/05/2004, 10:59
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Entonces puede ser que el tipo de cursor con el que abres tu rs no te permita recorrerlo...a menos que no tuvieras ese valor porque hayas eliminado algunos registros.

Trata así:

dim cod
cod = Request.Querystring("CodigoUsuario")
dim pass
pass = Request.Querystring("PassUsuario")
dim tipo
tipo = Request.Querystring("TipoUsuario")

dim cn
dim strODBC
dim strSQL
dim rs
strODBC="FILEDSN=Apw2Tienda.dsn"

set cn=Server.CreateObject("ADODB.Connection")
cn.Open StrODBC
strSQL="Select * from Socio"
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.Open strSQL, cn, 3, 3

Do Until rs.EOF
if cod=rs("cod_socio") then
Response.Write "estoy aki dentro"
end if
rs.MoveNExt
Loop


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 14/05/2004, 11:15
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
Tambien puedes dar un alltrim a los campos, un upper, y todo los que asegure que son iguales.

Saludos
  #6 (permalink)  
Antiguo 14/05/2004, 11:19
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
jo... a mi eso también me ha pasado en más de una ocasión y me ha vuelto loca.....

Tal vez interpreta que el autonumérico es un number y en cambio el valor que recibe del formulario lo interpreta como un string. Prueba a pasar a string el autonumérico para hacer la comparación...


Do Until rs.EOF
if cod= cstr(rs("cod_socio")) then
Response.Write "estoy aki dentro"
end if
rs.MoveNExt
Loop


... por probar....
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 00:16.