Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > PostgreSQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 22-10-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
lo del where 1=1 lo hace para ya "tener" un where. No se si me explico

El problema que se enfrentan es siempre el mismo:

Lo que esta entre [] vendria a ser opcional en mi pseudocodigo

Código Delphi [-]
TPersonGroup = (pgSoltero, pgCasado...etc)
TPersonGroups = set of TPersonGroup;
function Buscar(const Nombre, Apellido: string;  const Grupos: TPersonGroups = []): TDataSet;
begin
  q := CrearQueryMagicamente;
  [1] q.SQL.Text := ' SELECT [Campos] FROM Tabla1 [INNER JOIN Tabla2 (ON T1.Id = T2.IdTabla1)] ';
end;

Llegados al punto [1] si, ejecuto ese SQL, que pasa, me trae "todo". Obvio, no filtra no hay where

Ahora, seria deseable poder hacer esto

Código Delphi [-]
  if Apellido <> EmptyStr then
  begin
    q.SQL.Add(' Apellido LIKE :Ape ');
   q.ParamByName('Ape').AsString := Apellido + ''%'';
  end;

  if Nombre <> EmptyStr then
  begin
    q.SQL.Add(' Nombre LIKE :Nom');
   q.ParamByName('Nom').AsString := Nombre + ''%'';
  end;

  if Grupos <> [] then
    q.SQL.Add(Format(' Grupo IN (%s)', [SetToCSV(Grupos)]));

Las preguntas del millon:

1. Quien pone el WHERE? si todos los filtros vienen "vacios" entonces si pongo el where la consulta se rompe

2. Quien pone los AND? O los OR?


Ese es basicamente el problema que tiene
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Como construir un IDE? JXJ Varios 11 12-01-2009 22:59:36
Construir Manual SQL GustavoCruz SQL 1 30-05-2008 18:36:41
Problema al Construir un TRegistry D-MO Varios 3 24-08-2006 19:55:33
Construir un KEYLOGGER SPARROW Varios 3 18-02-2004 14:27:00
Error al construir el .EXE ADN Varios 8 24-07-2003 12:49:22


La franja horaria es GMT +2. Ahora son las 22:59:09.


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