Me estoy volviedo loco. Estoy ejecutando este query en Builder 6 contra una base de datos Firebird:
Código SQL
[-]SELECT DISTINCT A.Situacion, B.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') AND A.Sexo = 0 ORDER BY Situacion
que me devuelve este resultado:
Cita:
SITUACION LITERAL
-2 DESCONOCIDA
0 SITUACIÓN 1
1 SITUACIÓN 2
2 SITUACIÓN 3
3 SITUACIÓN 4
4 Null
|
Todo esto para cargar un TCheckListBox. Lo que pretendo es que me cargue un único ítem con el valor desconocida, de forma que no haya un ítem vacío. He probado de todo; ahora lo tengo puesto así:
Código:
for (; !fPersona->Query->Eof; fPersona->Query->Next())
{
cAux = UpperCase(fPersona->Query->FieldByName("Literal")->AsString);
if (lPrueba && (cAux == "DESCONOCIDA" || cAux == NULL))
{
CheckListBox2->Items->Add("Desconocida");
lPrueba = true;
}
else if (cAux != NULL)
CheckListBox2->Items->Add(fPersona->Query->FieldByName("Literal")->AsString);
}
pero también he probado con
Cita:
fPersona->Query->FieldByName("Literal")->IsNull
fPersona->Query->FieldByName("Literal")->AsString == ""
fPersona->Query->FieldByName("Literal")->AsString.IsEmpty()
|
Y siempre me añade al final un ítem con el caption vacío:
