Ir al contenido


Foto

[RESUELTO] capturar los valores separados por coma


  • Por favor identifícate para responder
13 respuestas en este tema

#1 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 10 septiembre 2009 - 09:40

Hola amigos, tengo un memo donde existirán valores separados por coma (5,700,7828,8667), eso porque quiero hacer una consulta dentro un while y de ahí­ quiero sacar el valor despúes del where, ¿cómo puedo hacer eso?.

Fleon xD.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 10 septiembre 2009 - 09:42

Hola amigos, tengo un memo donde existirán valores separados por coma (5,700,7828,8667), eso porque quiero hacer una consulta dentro un while y de ahí­ quiero sacar el valor despúes del where, ¿cómo puedo hacer eso?.

Fleon xD.


No entiendo muy bien la pregunta, porque no colocas algo de código para darnos una idea mas clara.

Salud OS
  • 0

#3 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 10 septiembre 2009 - 09:47

Gracias por responder Egostar, a ver si me explico mejor, fí­jate, lo que necesito lograr es saber el valor que está antes del coma, por ejemplo, supongamos que tengo un memo con los siguientes valores:

5,700,7800,7828,8667

Ahora necesito hacer una consulta por cada número que se encuentra en ese memo, o sea, sacar el 5, luego un consulta con 700 y así­ sucesivamente, ejemplo:



sql
  1. SELECT * FROM EMPLEADOS WHERE ID = 5
  2. SELECT * FROM EMPLEADOS WHERE ID = 700
  3. SELECT * FROM EMPLEADOS WHERE ID = 7800
  4. SELECT * FROM EMPLEADOS WHERE ID = 7828
  5. SELECT * FROM EMPLEADOS WHERE ID = 8667



Espero que ahora me haya explicado mejor :$

Fleon xD
  • 0

#4 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 10 septiembre 2009 - 09:54

Esto es un trabajo para las funciones que permiten trabajar con cadenas de texto, por ejemplo Copy(), creo que se hablo de esto antes en el foro. Usa la búsqueda :D


Saludos!
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 10 septiembre 2009 - 10:42

Hola

Puedes hacer esto:



delphi
  1. var
  2.   Form2: TForm2;
  3.   Lista: TStringList;
  4.   LineaSQL,cadena: string;
  5.  
  6. implementation
  7.  
  8. {$R *.dfm}
  9.  
  10. procedure TForm2.Button1Click(Sender: TObject);
  11. var
  12.   i: Integer;
  13. begin
  14.   Cadena := '5,700,7800,7828,8667';
  15.   Lista := TStringList.Create;
  16.   Assert(Assigned(Lista)) ;
  17.   Lista.Clear;
  18.   Lista.Delimiter := ',';
  19.   Lista.DelimitedText := Cadena;
  20.   for i := 0 to 4 do
  21.   begin
  22.     LineaSQL := 'SELECT * FROM EMPLEADOS WHERE ID = ' + lista[i];
  23.     ShowMessage(LineaSQL);
  24.   end;
  25.   Lista.Free;
  26. end;
  27.  
  28. end.



Salud OS
  • 0

#6 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 10 septiembre 2009 - 11:04

Aparte de lo dicho por egostar, tienes otra opcion solo en caso de que quieras que aparezcan en una consulta los empleados con ese codigo:

Select * from Empleados where ID in (' + Lista + ')';
  • 0

#7 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 10 septiembre 2009 - 12:58

Muchas gracias compañeros, en un rato les comento como me fue.

Fleon xD
  • 0

#8 Fleon

Fleon

    Advanced Member

  • Miembros
  • PipPipPip
  • 172 mensajes
  • LocationRepública Dominicana

Escrito 10 septiembre 2009 - 05:40

Hola, amigo Egostar probé tu code y me funciona de 10 :D ¡Gracias!.

Fleon xD
  • 0

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 10 septiembre 2009 - 05:45

Hola, amigo Egostar probé tu code y me funciona de 10 :D ¡Gracias!.

Fleon xD


Ah que bien, me alegra.

Salud OS
  • 0

#10 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 10 septiembre 2009 - 05:47


Hola, amigo Egostar probé tu code y me funciona de 10 :D ¡Gracias!.

Fleon xD


Ah que bien, me alegra.

Salud OS


Jejeje, amigo Fleon, no le hinches el Ego :p... ahora será EGOstar
  • 0

#11 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 10 septiembre 2009 - 05:48

No dudo que el código de Egostar funciona... pero creo que la consulta que menciona Eduardo evita lanzar la consulta n veces:



sql
  1. SELECT ... FROM ... WHERE ID IN (xxx,yyy,...,zzz)



Saludos,
  • 0

#12 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 10 septiembre 2009 - 05:52

Jejeje, amigo Fleon, no le hinches el Ego :p... ahora será EGOstar


:undecided: y que hace usted aún trabajando :p

Salud OS
  • 0

#13 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 10 septiembre 2009 - 05:53

No dudo que el código de Egostar funciona... pero creo que la consulta que menciona Eduardo evita lanzar la consulta n veces:



sql
  1. SELECT ... FROM ... WHERE ID IN (xxx,yyy,...,zzz)



Saludos,


Bueno habrí­a que considerar si lo que quiere hacer es individual o general :p

Salud OS
  • 0

#14 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 11 septiembre 2009 - 07:50


No dudo que el código de Egostar funciona... pero creo que la consulta que menciona Eduardo evita lanzar la consulta n veces:



sql
  1. SELECT ... FROM ... WHERE ID IN (xxx,yyy,...,zzz)



Saludos,


Bueno habrí­a que considerar si lo que quiere hacer es individual o general :p

Salud OS


Por lo mismo hice la aclaratoria:

Aparte de lo dicho por egostar, tienes otra opcion solo en caso de que quieras que aparezcan en una consulta los empleados con ese codigo:

Select * from Empleados where ID in (' + Lista + ')';


:D
  • 0




IP.Board spam blocked by CleanTalk.