Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 29-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola naty_prog.

A primera vista te hago una sugerencia para el armado de la consulta SQL. Si estandarizas el primer campo de los combos (ItemIndex = 0) para ignorar la condición, se puede acortar bastante esa parte del código.

Por ejemplo:
Código Delphi [-]
function TForm_docente.MakeSQLString: string;
var
  TS: TStrings;
  i: Integer;
begin
  Result:= 'SELECT * FROM DOCENTE ';
  TS:= TStringList.Create;
  try
    if ComboBox1.ItemIndex > 0 then
      TS.Add('TIPODOC = :TIPO');
    if Combobox2.ItemIndex > 0 then
      TS.Add('ID_DOCENTE = :MAT');
    if ComboBox3.ItemIndex > 0 then
      TS.Add('ID_LOCALIDAD =:LOC');
    if ComboBox4.ItemIndex > 0 then
      TS.Add('SEXO = :SEX');
    case ComboBox5.ItemIndex of
      1: TS.Add('EDAD = :EDA'); // igual
      2: TS.Add('EDAD > :EDA'); // mayor
      3: TS.Add('EDAD < :EDA'); // menor
      4: TS.Add('EDAD BETWEEN :EDA AND :EDA2') // entre
    end;
    if TS.Count > 0 then
    begin
      Result:= Result + 'WHERE ';
      for i:= 0 to TS.Count-1 do
        if i < TS.Count-1 then
          Result:= Result + TS[i] + ' AND '
        else
          Result:= Result + TS[i];
    end;
    case ComboBox6.ItemIndex of
      1: Result:= Result + ' ORDER BY NOMBRE_APELLIDO ASC';
      2: Result:= Result + ' ORDER BY NOMBRE_APELLIDO DESC'
    end
  finally
    TS.Free
  end;
end;
En el ejemplo, para todos los combos el primer valor (índice 0) contiene el texto 'Ignorar'.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Nuevas unidades de medida. marcoszorrilla La Taberna 4 04-06-2008 19:56:29
Sumar montos a medida que se ingresa Analia29 Varios 6 27-10-2006 13:34:56
Botones a la Medida Vlady Varios 5 26-08-2005 20:54:27


La franja horaria es GMT +2. Ahora son las 12:50:10.


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