Ir al contenido


Foto

[RESUELTO] "Like" se parece a... (Sentencia SQL rebelde)


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

#21 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 17 marzo 2010 - 02:44

¿Y probaste encerrandolo en un paréntesis?


Sí, y también mentándole la madre  :p :p :p ..., pero ninguna de ambas opciones funciona...
  • 0

#22 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

Escrito 17 marzo 2010 - 03:15


Saludos y por que no intentas con la vieja escuela

.
.
.

Ahi no deberias tener problemas


Punto menos para "la vieja escuela". Ejecuta, no marca error, pero no muestra nada.


Haber aca creo que hay algo mas que los pobres LIKE, primero, en base de datos usas?

esto porque hay algunas bases de datos como firebird, que si esta mayúsculas pues lo que buscas debe estar en mayúsculas, de lo contrario no te regresa nada.
Otra cosa, ya revisaste que el primer criterio te funcione?
porque frnacamente no deberias tener problemas al ponerla como te comente.

Saludos.
  • 0

#23 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 17 marzo 2010 - 03:49

Sí, y también mentándole la madre  :p :p :p ..., pero ninguna de ambas opciones funciona...


:D :D :D Si eso no funcionó, creo que nada va a funcionar jejejeje (y)

Salud OS


  • 0

#24 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 17 marzo 2010 - 05:03


Haber aca creo que hay algo mas que los pobres LIKE, primero, en base de datos usas?

esto porque hay algunas bases de datos como firebird, que si esta mayúsculas pues lo que buscas debe estar en mayúsculas, de lo contrario no te regresa nada.
Otra cosa, ya revisaste que el primer criterio te funcione?
porque frnacamente no deberias tener problemas al ponerla como te comente.

Saludos.


Estamos en la recién inaugurada sección de MS SQL Server..., y uso MS SQL Server.  ;) ;) :p :p :D :D

De hecho, es sólo con la primera opción que he estado haciendo pruebas con todas las ideas que me han hecho llegar. Y hasta el momento, ninguna ha dado el resultado esperado.
  • 0

#25 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 17 marzo 2010 - 05:14

¿no será que en tu code hay algo mal?, fíjate que no le veo sentido verificar si la casilla es distinto a NULL dos veces :)
  • 0

#26 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 17 marzo 2010 - 05:59

¿no será que en tu code hay algo mal?, fíjate que no le veo sentido verificar si la casilla es distinto a NULL dos veces :)


¿Dónde viste éso, Enecumene? Por que cabe la posibilidad que me haya equivocado, pero no tanto.

De hecho, la aplicación funciona a la perfección hasta el momento de llegar al "LIKE"..., y después, también funciona bien.
  • 0

#27 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 17 marzo 2010 - 06:04

Pues primero haces esto:


delphi
  1. if (edtArea.Text <> '') OR
  2.     (edtTitulo.Text <> '') OR
  3.     (edtNombres.Text <> '') OR
  4.     (edtAplldPaterno.Text <> '') OR
  5.     (edtAplldMaterno.Text <> '') then



y debajo de ese IF vuelves repites la vaildación cada uno de ellos:



delphi
  1. if (edtArea.Text <> '') then...
  2.  
  3. if (edtTitulo.Text <> '') then...
  4.  
  5. etc etc



Digo, no sé... :)



  • 0

#28 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 17 marzo 2010 - 06:19

Pues primero haces esto:
.
.
.
.
Digo, no sé... :)


¡¡Ah!!, ésoooo...

Si lo estudias, la idea es que entre a hacer todo su tingladito siempre y cuando exista al menos un valor. Si no hay valores, no entra ni ejecuta nada.

Y para cada valor, se "construye" su petición SQL (que es la que necesita el LIKE) por que se contiene una o varias palabras o conjunto de caracteres a buscar dentro del campo.
  • 0

#29 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 17 marzo 2010 - 06:29

Hola
Y pregunto:
Es imprescindible el Like?.
Saludos
  • 0

#30 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 17 marzo 2010 - 07:00

Hola
Y pregunto:
Es imprescindible el Like?.
Saludos


Y respondo: AB-SO-LU-TA-MEN-TE.
  • 0

#31 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 17 marzo 2010 - 07:13

A ver amigo Felipe.mx, vamos a cambiar un poco el concepto de tu query.



delphi
  1.     if (edtArea.Text <> '') then
  2.     begin
  3.       sArmr := '%'+edtArea.Text+'%';
  4.       wsSQLTxt := wsSQLTxt + 'AND (ca_area LIKE :AREA)'; // Usaremos parámetros....
  5.   end;
  6.  
  7. //:::::::::::::::
  8.      
  9.   with dtamdlDts.ADOQryBsqd do
  10.   begin
  11.     Active := False;
  12.     SQL.Clear;
  13.     SQL.Text := wsSQLTxt;
  14.     ParamByName('AREA').AsString := sArmr;
  15.     Active := True;
  16.   end;



Salud OS
  • 0

#32 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 17 marzo 2010 - 07:24

Hola,
Se que quizá diga una tontería pero si a mi me ha pasado en ocasiones, puede existir la posibilidad de que a alguien más también.... ¿No será que no tienes datos que cumplas con el criterio?
Si dices que con algunas alternativas no hay error pero no muestra nada yo lo primero que me pregunto es... ¿tendré datos que cumplan con las condiciones?

Saludos,
  • 0

#33 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 17 marzo 2010 - 07:32

Sí, y también mentándole la madre    ..., pero ninguna de ambas opciones funciona...

 

La verdad es que eres un tipo genia!!!!!!:D :D :D :D :D :D :D  me he reido un monton con esa opcion de la mentada de madre!!! 
  • 0

#34 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 17 marzo 2010 - 07:36

Hola,
Se que quizá diga una tontería pero si a mi me ha pasado en ocasiones, puede existir la posibilidad de que a alguien más también.... ¿No será que no tienes datos que cumplas con el criterio?
Si dices que con algunas alternativas no hay error pero no muestra nada yo lo primero que me pregunto es... ¿tendré datos que cumplan con las condiciones?

Saludos,


Delphius, una característica de una persona inteligente es que duda de todo y lo investiga todo, cualquier posibilidad...

Con éste código SQL puro:


sql
  1. SELECT Ca_Area,
  2.       Ca_Titulo,
  3.       Ca_Nombre,
  4.       Ca_Paterno,
  5.       Ca_Materno,
  6.       Ca_institucion,
  7.       Ca_Dirg,
  8.       Ca_Dir,
  9.       Ca_Sub,
  10.       Ca_Jud
  11.   FROM carea
  12.   WHERE (ca_cancelado = 0) AND
  13.         (ca_area LIKE '%APOYO%');



Obtengo ésto:

Archivos adjuntos


  • 0

#35 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 17 marzo 2010 - 07:37

Sí, y también mentándole la madre    ..., pero ninguna de ambas opciones funciona...

 

La verdad es que eres un tipo genia!!!!!!:D :D :D :D :D :D :D  me he reido un monton con esa opcion de la mentada de madre!!!


¡¡No sabes!!, soy ultragenial..., pero no puedo resolver UN CONDENADO LIKE EN UN TEXTO...  : : :p :p :s :s :D :D

Y bueno..., bien dicen que los genios no tenemos modestia y los angelitos no tienen espalda.
  • 0

#36 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 17 marzo 2010 - 07:38

Hola
A mi cuando no me salen las cosas, que es muy a menudo lo que hago es esto:


delphi
  1. procedure TfrmBsqdDts.bitbttnBscrClick(Sender: TObject);
  2. var
  3.   wsSQLTxt : widestring;
  4. begin
  5.  
  6.   wsSQLTxt := 'SELECT Ca_Area, Ca_Titulo, Ca_Nombre, Ca_Paterno, Ca_Materno, '+
  7.                     'Ca_institucion, Ca_Dirg, Ca_Dir, Ca_Sub, Ca_Jud FROM carea'+
  8.                     ' WHERE (ca_cancelado = 0) ';
  9.  
  10.   if (edtArea.Text <> '') OR
  11.     (edtTitulo.Text <> '') OR
  12.     (edtNombres.Text <> '') OR
  13.     (edtAplldPaterno.Text <> '') OR
  14.     (edtAplldMaterno.Text <> '') then
  15.   begin
  16.     if (edtArea.Text <> '') then
  17.     begin
  18.       wsSQLTxt := wsSQLTxt + 'AND (ca_area LIKE %'+edtArea.Text+'%)';
  19.       Showmessage(wsSQLTxt);
  20.     end;
  21. end;
  22.   wsSQLTxt := wsSQLTxt +';';
  23.  
  24.   with dtamdlDts.ADOQryBsqd do
  25.   begin
  26.     Active := False;
  27.     SQL.Clear;
  28.     SQL.Text := wsSQLTxt;
  29.     Active := True;
  30.   end;
  31.  
  32. end;


Asi veo que me envia el codigo sql y voy llegando le.
Saludos
  • 0

#37 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 17 marzo 2010 - 07:40


Sí, y también mentándole la madre    ..., pero ninguna de ambas opciones funciona...

 

La verdad es que eres un tipo genia!!!!!!:D :D :D :D :D :D :D  me he reido un monton con esa opcion de la mentada de madre!!!


¡¡No sabes!!, soy ultragenial..., pero no puedo resolver UN CONDENADO LIKE EN UN TEXTO...  : : :p :p :s :s :D :D

Y bueno..., bien dicen que los genios no tenemos modestia y los angelitos no tienen espalda.


¿ Ya intentaste con parametros ?

Salud OS
  • 0

#38 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 17 marzo 2010 - 07:41

...pero no puedo resolver UN CONDENADO LIKE EN UN TEXTO...  : : :p :p :s :s :D :D


¿No hablarás de un campo tipo TEXT? ¿no? :s
  • 0

#39 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 17 marzo 2010 - 07:53

Pues he probado mi teoría de parámetros tanto en IBExpert como en Delphi y funciona como lo soñe :)

Salud OS

Archivos adjuntos


  • 0

#40 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 17 marzo 2010 - 07:57


Delphius, una característica de una persona inteligente es que duda de todo y lo investiga todo, cualquier posibilidad...

Con éste código SQL puro:


sql
  1. SELECT Ca_Area,
  2.       Ca_Titulo,
  3.       Ca_Nombre,
  4.       Ca_Paterno,
  5.       Ca_Materno,
  6.       Ca_institucion,
  7.       Ca_Dirg,
  8.       Ca_Dir,
  9.       Ca_Sub,
  10.       Ca_Jud
  11.   FROM carea
  12.   WHERE (ca_cancelado = 0) AND
  13.         (ca_area LIKE '%APOYO%');



Obtengo ésto:

Bueno, por algo yo dije que quizá lo que decía era una tontería... sabiendo que eso es una de las primeras cosas que se chequean... pero también puede existir la posibilidad de que nos olvidemos.
No era mi intención ofenderte ni molestar.

Estoy pensando que otra alternativa se podría probar...

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.