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

problemas en comparacion de cadenas

Estas en el tema de problemas en comparacion de cadenas en el foro de ASP Clásico en Foros del Web. Hola amigos me ocurre algo que realmente no comprendo pero me parece por donde viene resulta que comparo un recordset con una cadena de esta ...
  #1 (permalink)  
Antiguo 30/01/2002, 10:16
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 23 años, 4 meses
Puntos: 0
problemas en comparacion de cadenas

Hola amigos me ocurre algo que realmente no comprendo pero me parece por donde viene resulta que comparo un recordset con una cadena de esta forma

if rs("ValorRecordset")= "Generales" then
response.write "funciono"
end if

He probado la función Cstr y demás pero nada logra que la comparación sea true y el el valor del recordset es realmente Generales, el motor de base de datos que estoy usando es sql 7.0 y me parece que hay caracteres en codificación Unicode y otros en ASCII puede ser este el problema de ser este el problema como debe ser el campo varchar , o char o algun otro??, el campo tiene una longitud de 20 caracteres, será esto si no no comprendo , gracias amigos.
  #2 (permalink)  
Antiguo 30/01/2002, 10:50
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
Re: problemas en comparacion de cadenas

Metele un trim por las dudas. tal vez funcione:

if Trim(rs("ValorRecordset"))= "Generales" then

me pasó una vez comparando el contenido de un archivo de texto con una palabra y, supuestamente, eran idénticos... pero no era así. Había algún caracter basura invisible que me estropeaba la comparación...
  #3 (permalink)  
Antiguo 30/01/2002, 10:53
jgg
 
Fecha de Ingreso: agosto-2001
Mensajes: 56
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: problemas en comparacion de cadenas

Hola,
Parece que en la base de datos almacenas la cadena con algún espacio en blanco.
Prueba con Trim, para eliminar esos espacios.
if Trim(rs("ValorRecordset"))= "Generales"

Un saludo!!

[email protected]
  #4 (permalink)  
Antiguo 30/01/2002, 10:56
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: problemas en comparacion de cadenas

Bien amigo funcionó , realmente se ve que ese era el problema, porque será que inserta caracteres basura.Gracias amigo me ha sido de gran ayuda.
  #5 (permalink)  
Antiguo 30/01/2002, 11:14
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: problemas en comparacion de cadenas

Bien amigo funcionó , realmente se ve que ese era el problema, porque será que inserta caracteres basura.Gracias amigo me ha sido de gran ayuda.
  #6 (permalink)  
Antiguo 30/01/2002, 11:41
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
Re: problemas en comparacion de cadenas

de nada :)

¿por qué será? ni idea... pero luego de eso uso trims por todos lados. jaja, estube como una semana dándole vueltas al tema aquella vez hasta que probé eso y funcionó :)
  #7 (permalink)  
Antiguo 30/01/2002, 12:02
jgg
 
Fecha de Ingreso: agosto-2001
Mensajes: 56
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: problemas en comparacion de cadenas

Hola,
A mí también me ocurrió algo parecido y el problema es por los tipos de datos:

char [n], es una cadena de longitud fija ANSI, donde n es un entero de longitud fija y puede ser desde 1 hasta 8000.
Quiere decir, que si tú almacenas Generales como char (20), esa cadena tendrá 11 espacios en blanco hasta cubrir
los 20 que le has asignado al campo.
Con varchar solucionarías ese problema, ya que su longitud es variable.

Un saludo!!

[email protected]
  #8 (permalink)  
Antiguo 30/01/2002, 14:37
 
Fecha de Ingreso: diciembre-2001
Mensajes: 46
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: problemas en comparacion de cadenas

hola aleman

si entiendo bien por tu ejemplo y creo q podrias haber solucionado ese problema trabajando con un id y comparando numeros en vez de string

tenelo en cuenta para no romperte tanto la cabeza

un abrazo :) :)
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:21.