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

¿X se encuentra en cadena separada por ';' de un campo en una BD?

Estas en el tema de ¿X se encuentra en cadena separada por ';' de un campo en una BD? en el foro de ASP Clásico en Foros del Web. Buenas noches a todos, Programando me he encontrado con este problema... Tengo un campo en una BD (rs.fields("id") y una variable llamada "cadena" tipo asi ...
  #1 (permalink)  
Antiguo 16/03/2010, 14:52
 
Fecha de Ingreso: marzo-2010
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
¿X se encuentra en cadena separada por ';' de un campo en una BD?

Buenas noches a todos,

Programando me he encontrado con este problema...

Tengo un campo en una BD (rs.fields("id") y una variable llamada "cadena" tipo asi 1;2;3;9;7;

Mi intencion, si se puede, es a traves de un if decirle "Si uno de los valores separados por ';' coincide con rs.fields("id") entonces....."

¿Hay alguna manera?

Gracias.
  #2 (permalink)  
Antiguo 16/03/2010, 15:00
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 2 meses
Puntos: 27
Respuesta: ¿X se encuentra en cadena separada por ';' de un campo en una BD?

UMMM

cadena = replace(cadena,";",",")

sql = "select * from tutabla where id in(" & cadena &")"

se me ocurre

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 16/03/2010, 15:09
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: ¿X se encuentra en cadena separada por ';' de un campo en una BD?

Podrías intentar con la función InStr, algo así...

If InStr(cadena, ";" & rs.fields("id") & ";") > 0 Then 'La funcion InStr te devuelve la posición de la ocurrencia.
Response.Write("El valor existe en tu cadena")
Else
Response.Write("El valor no existe")
End If


Otra cosa que podrías hacer es usar la función split para separar tu cadena por ";" y checar si en el arreglo que te genera existe el valor de tu rs.

Dim varAux
varAux = split(cadena, ";")
<Estructura de control para recorrer el arreglo (varAux) y comparar los valores con tu rs.>


Espero te sirva esto.

Saludos!
  #4 (permalink)  
Antiguo 16/03/2010, 15:16
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, 10 meses
Puntos: 535
Respuesta: ¿X se encuentra en cadena separada por ';' de un campo en una BD?

Puede que sea como JuanRAPerez dice, pero yo lo interpreté así:

Código:
If instr(";" & cadena, ";" & rs.fields("id") & ";") <> 0
then
'existe
else
'no existe
end if
__________________
...___...
  #5 (permalink)  
Antiguo 16/03/2010, 15:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: ¿X se encuentra en cadena separada por ';' de un campo en una BD?

Buenas,

Muchas gracias a todos.

a ver.....

If instr(";" & cadena, ";" & rs.fields("id") & ";") <> 0 then
response.write("existe")
else
response.write("NO existe")
end if
response.write(cadena)

VALORES
cadena tiene el valor 1;2;
rs.fields("id") pasa por un bucle... así que pasa del 1 al 4....

Resultado
NO existe
NO existe
NO existe
NO existe

No entra nunca en el "existe" :s
  #6 (permalink)  
Antiguo 16/03/2010, 15:44
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: ¿X se encuentra en cadena separada por ';' de un campo en una BD?

Do While Not rs.EOF
If InStr(1, ";" & cadena, ";" & rs.Fields("id").Value & ";") <> 0 Then
Response.Write("Existe")
Else
Response.Write("NO Existe")
End If
rs.MoveNext
Loop


A ver, intenta esto.

Saludos!
  #7 (permalink)  
Antiguo 16/03/2010, 16:11
 
Fecha de Ingreso: marzo-2010
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: ¿X se encuentra en cadena separada por ';' de un campo en una BD?

Marco_foros muchisimas gracias!!

Me funcionó perfectamente! y ya esta implementado!!

Muy agradecido de verdad!
  #8 (permalink)  
Antiguo 16/03/2010, 16:16
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: ¿X se encuentra en cadena separada por ';' de un campo en una BD?

EXCELENTE!! Caso resuelto!!

Un gusto haberte ayudado.

Saludos!

Etiquetas: bd, encuentra, campos, cadenas
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 21:53.