Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-05-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
No uso Deplhi, pero es muy similar a Builder. ¿Por qué no usas parámetros en el query? Creo que sería más fácil y no tendrías que hacer conversiones sobre la marcha. En Builder yo construiría así el query:
Código SQL [-]
Query1->Close();
Query1->SQL->Text = "SELECT admDocumentos.CIDDOCUMENTODE, admDocumentos.CSERIEDOCUMENTO, admDocumentos.CFOLIO, admDocumentos.CFECHA,";
Query1->SQL->Add("admDocumentos.CRAZONSOCIAL, admDocumentos.CFECHAVENCIMIENTO, admDocumentos.CIDMONEDA, admDocumentos.CCANCELADO, admDocumentos.CTOTAL,");
Query1->SQL->Add("admDocumentos.CPENDIENTE, admDocumentos.CIDCONCEPTODOCUMENTO, admDocumentos.CIDDOCUMENTOORIGEN, admDocumentos.CIDDOCUMENTO");
Query1->SQL->Add("FROM admDocumentos");
Query1->SQL->Add("WHERE admDocumentos.CIDCONCEPTODOCUMENTO = 21");
Query1->SQL->Add("AND CCANCELADO = 0");
Query1->SQL->Add("AND admDocumentos.CFECHAVENCIMIENTO < :Fecha");
Query1->SQL->Add("AND CPENDIENTE <> 0");
Query1->SQL->Add("AND admDocumentos.CIDMONEDA = 1");
Query1->ParamByName("Fecha")->AsDateTime = FechaIni;
Query1->Open();
Imagino que la forma de hacerlo en Delphi será similar.
Responder Con Cita
  #2  
Antiguo 22-05-2019
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.

Como te indican usar parámetros, mas alla de la seguridad, simplifica la situación. Podrías hacerte una función que indique si deseas o no traer las factura vencidas, por ejemplo:
Código Delphi [-]
// Por defecto filtra la consulta por NO vencidas. "Vencidas" es False si se omite
procedure MakeQuery(Qy: TADOQuery; FechVenc: string; const Vencidas: Boolean = False);
begin
  Qy.Close;
  Qy.SQL.Clear;
  Qy.SQL.Add('SELECT ADM.CIDDOCUMENTODE, ADM.CSERIEDOCUMENTO,');
  Qy.SQL.Add('ADM.CFOLIO, ADM.CFECHA, ADM.CRAZONSOCIAL, ADM.CFECHAVENCIMIENTO,');
  Qy.SQL.Add('ADM.CIDMONEDA, ADM.CCANCELADO, ADM.CTOTAL, ADM.CPENDIENTE,');
  Qy.SQL.Add('ADM.CIDCONCEPTODOCUMENTO, ADM.CIDDOCUMENTOORIGEN, ADM.CIDDOCUMENTO');
  Qy.SQL.Add('FROM ADMDOCUMENTOS ADM');
  Qy.SQL.Add('WHERE (ADM.CIDCONCEPTODOCUMENTO = 21) AND (CCANCELADO = 0)');
  Qy.SQL.Add('AND (CPENDIENTE <> 0) AND (ADM.CIDMONEDA = 1)');
  if Vencidas then
    Qy.SQL.Add('AND (CFECHAVENCIMIENTO < :FVENC)')
  else
    Qy.SQL.Add('AND (CFECHAVENCIMIENTO >= :FVENC)');
  Qy.Parameters.ParamByName('FVENC').Value := FechVenc;
  Qy.Open;
end;

// Ejemplo del uso
procedure TForm1.Button1Click(Sender: TObject);
begin
  MakeQuery(ADOQuery1, DateToStr(DateTimePicker1.Date), CheckBox1.Checked);
end;
Aunque no especificaste que gestor de base de datos y componentes usas, fijándome en tus mensajes anteriores y ví que usaste ADO alguna vez.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No funciona consulta agrupada MartinS Firebird e Interbase 2 26-01-2012 15:50:53
Consulta sql solo funciona una vez webmasterplc SQL 2 16-02-2011 16:40:41
Esta consulta no me funciona brandolin Firebird e Interbase 1 12-02-2007 17:29:08
Cambio de Formato de Fecha no funciona DJ VMan Varios 1 01-08-2003 12:28:27
Consulta Interbase con CGI No Funciona ASAPLTDA Internet 2 26-06-2003 23:15:42


La franja horaria es GMT +2. Ahora son las 12:26:22.


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