Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Trying to store a string... al hacer SELECT (https://www.clubdelphi.com/foros/showthread.php?t=91536)

Angel.Matilla 27-02-2017 19:37:33

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?

Angel.Matilla 27-02-2017 19:40:23

Ya está arregaldo :mad: Era, simplemente, volver a generar la vista que usaba.

AgustinOrtu 27-02-2017 19:41:18

Estas usando campos persistentes? Es decir, si tiempo de diseño tenes creados los campos


La franja horaria es GMT +2. Ahora son las 04:05:14.

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