Ver Mensaje Individual
  #1  
Antiguo 27-02-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Trying to store a string... al hacer SELECT

Estoy haciendo una búsqueda en una BB.DD. FB 2.5 con el siguiente query sobre un vista:
Código:
SELECT CodPrv, Codigo, Apellidos, Nombre, Referencia, Nif, Situacion, 
       Iban||Cuenta Cuenta, NomJun 
  FROM Ls01 
 WHERE CodPrv = (SELECT Literal FROM Instalacion WHERE Etiqueta = 'Provincia') 
   AND Nif LIKE :Nif
 ORDER BY Apellidos, Nombre, Referencia, NomJun
Y lo hago así (sólo pongo el trozo en que me da error):
Código:
fPersona->Query->Close();
fPersona->Query->SQL->Clear();
if (!Apellidos->Text.IsEmpty())
{
}
if (!Nif->Text.IsEmpty())
{
     fPersona->Query->SQL->Add("AND Nif LIKE :Nif");
     fPersona->Query->ParamByName("Nif")->AsString = "%" + Nif->Text.Trim() + "%";
}
fPersona->Query->SQL->Add("ORDER BY Apellidos, Nombre, Referencia, NomJun");
fPersona->Query->SQL->Text = "SELECT CodPrv, Codigo, Apellidos, Nombre, Referencia, Nif, Situacion, Iban||Cuenta Cuenta, NomJun FROM Ls01 WHERE CodPrv = (SELECT Literal FROM Instalacion WHERE Etiqueta = 'Provincia') " + fPersona->Query->SQL->Text;
En la tabla de la que lee la vista el campo NIF está defin¡ido como VARCHAR(11), lo que le da margen de sobra ya que en España son 8 cifras más una letra. Sin embargo si pongo simplemente los ocho dígitos SIN añadir la letra me da siempre el mismo error:
Cita:
Trying to store a string of length 11 into a field that only contain 9
(Tratando de almacenar una cadena de longitud 11 en un campo que sólo contiene 9)
El campo donde capturo la información es un TLabeledEdit con MaxLength igual a 11. Ese error me tiene perplejo y no sí por dónde pillarlo. ¿Algún consejo?
Responder Con Cita