Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
A ver si no devuelven ningún dato o no hay registros con esos valores y devuelve null.
Responder Con Cita
  #2  
Antiguo 27-04-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Registros sí hay; la base de datos ahora mismo es igual la que tengo yo que la del usuario.
Responder Con Cita
  #3  
Antiguo 27-04-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira "por separado" qué devuelve cada apartado de la consulta y lo comparas con tu equipo y con el del cliente, algo así:
Código SQL [-]
SELECT CAST(B.Caduca AS DATE) Caduca
Código SQL [-]
select current_date from rdb$dabatase
Código SQL [-]
select CAST(B.Caduca AS DATE) - CURRENT_DATE
etc...
Responder Con Cita
  #4  
Antiguo 27-04-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Gracias por la sugerencia. El lunes haré la prueba.
Responder Con Cita
  #5  
Antiguo 29-05-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Bueno después de unos cuantos días en que tuve abandonado este tema lo retomé ayer. Lo primero que he hecho es comprobar la configuración del PC donde aparece el problema. Es esta:

Siguiendo vuestras sugerencias he modificado algo el código. Ahora está así:
Código:
fMenu->Auxiliar->Close();
fMenu->Auxiliar->SQL->Text = "SELECT CURRENT_DATE FROM RDB$DATABASE";
fMenu->Auxiliar->Open();
TDateTime dFecha = fMenu->Auxiliar->FieldByName("CURRENT_DATE")->AsDateTime;

fMenu->Auxiliar->Close();
fMenu->Auxiliar->SQL->Text = "SELECT CAST(B.Caduca AS DATE) Caduca FROM Usuarios A, Claves B WHERE A.Nombre = :Nombre AND A.Nombre = B.Nombre AND B.Clave = :Clave";
fMenu->Auxiliar->ParamByName("Nombre")->AsString = NombreUser;
fMenu->Auxiliar->ParamByName("Clave")->AsString  = ClaveUser;
fMenu->Auxiliar->Open();
int nDias = fMenu->Auxiliar->FieldByName("Caduca")->AsDateTime - dFecha;

if (nDias < 11)
{
     cAux = "Su clave caduca el " + fMenu->Auxiliar->FieldByName("Caduca")->AsDateTime.FormatString("ddddd");

     if (nDias < 1)
     {
          Mensaje(3, cAux + ".\nDebe cambiar la clave de acceso al sistema.", "Continuar");

          Application->CreateForm(__classid(TfCamCla), &fCamCla);
          fCamCla->Tag = 1;
          fCamCla->Nombre->Text = NombreUser;
          fCamCla->ShowModal();

          if (fCamCla->Tag < 0)
          {
               TipoInstalacion = fCamCla->Tag;
               delete fCamCla;
               Mensaje(1, "No se ha modificado la clave. Sistema desconectado.", "Terminar");
               Application->Terminate();
               return TipoInstalacion;
          }
          delete fCamCla;
     }
     else
          Mensaje(4, cAux, "Continuar");
}
Sin embargo a pesar de todo me sigue mostrando la fecha como una hora; es decir: en la frase cAux = "Su clave caduca el..., en vez de poner por ejemplo Su clave caduca el 30/06/2019 me pone Su clave caduca el 00:00:00. Y reitero que es el único equipo en que lo hace y además es el único con Windows 10, por eso intuyo que es un problema del sistema operativo.
Responder Con Cita
  #6  
Antiguo 29-05-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero esto estará mal:
AsDateTime.FormatString("ddddd");
Será algo así como "dd-mm-yyyy"
Responder Con Cita
  #7  
Antiguo 29-05-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pero esto estará mal:
AsDateTime.FormatString("ddddd");
Será algo así como "dd-mm-yyyy"
Según la ayuda de Builder:
Cita:
ddddd Displays the date using the format given by the ShortDateFormat global variable.
No obstante no me cuesta nada poner la forma tradicional. Cierto es que como en ningún sitio me ha dado problemas...
Responder Con Cita
Respuesta



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
operaciones con fechas GustavoCruz Firebird e Interbase 12 07-04-2009 22:52:35
Operaciones con fechas tifosi_loco SQL 2 06-12-2007 14:26:08
Operaciones con fechas jandres Varios 2 07-11-2006 19:16:27
Operaciones con fechas febito Oracle 1 05-08-2004 03:30:09
operaciones con fechas ing_alsaac Varios 2 11-05-2003 10:02:57


La franja horaria es GMT +2. Ahora son las 14:18:26.


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