Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-12-2003
armando armando is offline
Miembro
 
Registrado: dic 2003
Posts: 74
Poder: 21
armando Va por buen camino
Lightbulb como utilizo like

Hola a todos estoy trabajando con delphi 5 y paradox
Mi pregunta es la siguiente
Como puedo hacer una consulta utilizando el parámetro like y una variable
Es decir hago lo siguiente

Sin variable
DMR.mitabla.CLOSE;
DMR. mitabla .SQL.CLEAR;
DMR. mitabla .SQL.Add('SELECT*');
DMR. mitabla .SQL.Add('FROM ent1.db');
DMR. mitabla .SQL.Add('WHERE ENTRADA');
DMR. mitabla .SQL.Add('LIKE'+QUOTEDSTR(''+EDIT1.TEXT+'%'));
DMR. mitabla .OPEN;

Y todo sale bien
Pero
Con variable

DMR.mitabla.CLOSE;
DMR. mitabla .SQL.CLEAR;
DMR. mitabla .SQL.Add('SELECT*');
DMR. mitabla .SQL.Add('FROM ent1.db');
DMR. mitabla .SQL.Add('WHERE STATUS='INVENTARIO' AND ');
DMR. mitabla .SQL.Add('WHERE ENTRADA ');
DMR. mitabla .SQL.Add('LIKE'+QUOTEDSTR(''+EDIT1.TEXT+'%'));
DMR. mitabla .OPEN;

ME DA ERROR

ES DECIR NO SE COMO DECLARAR UNA VARIABLE EN SQL
PORQUE SI LO HAGO DIRECTAMENTE SIN UTILIZAR LIKE SI ME DA EL RESULTADO
HAAAAAAAAAAAAA¡¡
Y TAMBIEN YA LO HICE DE LA SIGUIENTE MANERA

VAR
A:STRING;
Begin

DMR.QENTXL.CLOSE;
DMR.QENTXL.SQL.CLEAR;
DMR.QENTXL.SQL.Add('SELECT*');
DMR.QENTXL.SQL.Add('FROM ent1.db');
DMR.QENTXL.SQL.Add('WHERE STATUS=A AND');
DMR.QENTXL.SQL.Add('WHERE ENTRADA');
DMR.QENTXL.SQL.Add('LIKE'+QUOTEDSTR(''+EDIT1.TEXT+'%'));
DMR.QENTXL.OPEN;

PERO TAMBIEN ME MARCA ERROR
PERO QUIERO UTILIZAR ELCODIGO????

MIL GRACIAS ESPERO SU AYUDA
Responder Con Cita
  #2  
Antiguo 22-12-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.935
Poder: 27
delphi.com.ar Va por buen camino
Primero quiero recomendarte que leas la Guía de Estilo. Despues quiero recomendarte, que cuando te de error una consulta SQL, veas como esta a quedado finalmente, si observas como va a quedar este SQL, podemos marcar que va a dar error, porque tiene dos cláusulas WHERE:

Código:
SELECT*
FROM ent1.db
WHERE STATUS='INVENTARIO' AND 
WHERE ENTRADA LIKE '%'
Además esto va a darte un error de compilación en la línea:
Código:
DMR.mitabla.SQL.Add('WHERE STATUS='INVENTARIO' AND ');
que supongo que querías poner algo como:
Código:
DMR.mitabla.SQL.Add('WHERE STATUS=' + INVENTARIO + ' AND ');
siendo INVENTARIO una variable del tipo String. Si esta variable contiene una cadena, lo recomendable va a ser que escribas:
Código:
DMR.mitabla.SQL.Add('WHERE STATUS=' + QuotedStr(INVENTARIO) + ' AND ');
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 22-12-2003
armando armando is offline
Miembro
 
Registrado: dic 2003
Posts: 74
Poder: 21
armando Va por buen camino
PERDON, PERO ES MI PRIMERA PREGUNTA
PERO SI, LE ECHO UN VISTAZO A Guía de Estilo.
PERO SOBRE TODO
GRACIAS
DELPHI.COM.AR
ASI QUEDO MI CODIGO
DMR.MITABLA.CLOSE;
DMR.MITABLA.SQL.CLEAR;
DMR.MITABLA.SQL.Add('SELECT*');
DMR.MITABLA.SQL.Add('FROM ent1.db');
DMR.MITABLA.SQL.Add('WHERE STATUS=' +QuotedStr('CADENA' );
DMR.MITABLA.SQL.Add('ENTRADA');
DMR.MITABLA.SQL.Add('LIKE'+QUOTEDSTR(''+EDIT1.TEXT+'%'));
DMR.MITABLA.OPEN;
Responder Con Cita
  #4  
Antiguo 22-12-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.935
Poder: 27
delphi.com.ar Va por buen camino
Incisto con la Guía de Estilo!!!

PD: A simple vista tu código tiene un par de errores:

Te falta un paréntesis en la línea:
Código:
DMR.MITABLA.SQL.Add('WHERE STATUS=' +QuotedStr('CADENA' );
Debes agregar un operador, por ejemplo AND, antes de la seguna condición, por ejemplo:
Código:
DMR.MITABLA.SQL.Add('AND  ENTRADA');
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:53:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi