Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
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 25-02-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.438
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No se si alguien lo ha comentado ya, pero ¿no puedes añadir la condición a la SQL, en lugar de tratarlo a posteriori?

Código SQL [-]
 ... AND (LITERAL IS NOT NULL)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 25-02-2016
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
Cita:
Empezado por Neftali Ver Mensaje
... AND (LITERAL IS NOT NULL)
Esa condición no me vale. Fíjate que lo que me interesa es precisamente que salgan los valores nulos para saber que registros están mal grabados y la tabla en la que voy a buscar los literales no está indexada, ni me interesa, ya que es donde se guardan los valores básicos de configuración.

Última edición por Angel.Matilla fecha: 25-02-2016 a las 09:45:11.
Responder Con Cita
  #3  
Antiguo 25-02-2016
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.

La situación no me termina de quedar clara... Cuando el valor de la columna LITERAL es NULL, ¿ Deseas que el ítem del CheckListBox incluya algún texto como sugiere la imágen de tu primer mensaje ?

Si no te interpreté mal y es así, creo que lo mas simple es hacerlo con la sugerencia de Casimiro, ejemplo :
Código PHP:
...
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  
TIBQuery *qy static_cast<TIBQuery*>(IBQuery1);

  
qy->Close();
  
qy->SQL->Clear();
  
qy->SQL->Add"SELECT DISTINCT A.SITUACION," );
  
qy->SQL->Add"COALESCE(UPPER(B.LITERAL), 'NULO') AS LITERAL" );
  
qy->SQL->Add"FROM PERSONA A LEFT JOIN INSTALACION" );
  
qy->SQL->Add"B ON A.SITUACION = B.VALOR ..." );
  ...
  for ( 
qy->Open(); !qy->Eofqy->Next() )
    
CheckListBox1->Items->Add(qy->FieldByName("LITERAL")->AsString );
  
CheckListBox1->Style lbOwnerDrawFixed;
}

void __fastcall TForm1::CheckListBox1DrawItem(TWinControl *Control,
      
int IndexTRect &RectTOwnerDrawState State)
{
  
TCheckListBox *lb static_cast<TCheckListBox*>(Control);
  
AnsiString str lb->Items->Strings[Index];

  if ( 
str == "NULO" ) {
    
lb->Canvas->Font->Color clRed;
    
lb->Canvas->Font->Style TFontStyles() << fsBold << fsUnderline;
  }
  
lb->Canvas->FillRectRect );
  
lb->Canvas->TextOutRect.leftRect.topstr );

Muestra:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 25-02-2016
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
Cita:
Empezado por ecfisa Ver Mensaje
La situación no me termina de quedar clara... Cuando el valor de la columna LITERAL es NULL, ¿ Deseas que el ítem del CheckListBox incluya algún texto como sugiere la imágen de tu primer mensaje?
Perdón por explicarme tan mal. Lo que quiero es que cuando haya un valor NULL en la columna literal, al cargar el CheckListBox, se asocie a Desconocida. Más que nada, y lo sabéis, si un usuario del programa ve una casilla sin descripción como en el ejemplo que subí al principio o que la etiqueta ponga NULO como sugieres, tardan 30 segundos en llamarte para preguntarte que es eso de NULO. Lo he solucionado así:
Código:
Query->Close();
Query->SQL->Text = "SELECT DISTINCT A.Situacion, "
                   "COALESCE(B.Literal, 'Desconocida') Literal "
                   "FROM Persona A "
                   "LEFT JOIN Instalacion B "
                   "ON A.Situacion = B.Valor AND B.Etiqueta = 'Situacion' "
                   "WHERE A.CodPrv = (SELECT Literal FROM Instalacion WHERE Etiqueta = 'Provincia')";
Query->Open();

bool lPrueba = false;
for (; !fPersona->Query->Eof; fPersona->Query->Next())
{
     if (UpperCase(fPersona->Query->FieldByName("Literal")->AsString) == "DESCONOCIDA")
     {
          if (lPrueba)
               continue;

          lPrueba = true;
     }
     CheckListBox2->Items->Add(fPersona->Query->FieldByName("Literal")->AsString);
}
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
Comprobar si un campo es nulo Gabo C++ Builder 2 08-10-2007 23:08:11
Valor nulo en un string ElDioni Conexión con bases de datos 5 10-11-2005 09:29:57
Valor Nulo o en blanco y nil vtdeleon OOP 1 25-11-2004 05:41:50
Campo con valor nulo fjcg02 Conexión con bases de datos 4 10-11-2004 08:55:07
Valor nulo pache OOP 3 19-06-2003 08:39:13


La franja horaria es GMT +2. Ahora son las 00:49:54.


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