[fpc-pascal] TStringField.Size
Luca Olivetti
luca at ventoso.org
Mon Jul 14 14:54:44 CEST 2025
El 14/7/25 a les 14:30, Michael Van Canneyt via fpc-pascal ha escrit:
>
>
> On Mon, 14 Jul 2025, Luca Olivetti via fpc-pascal wrote:
>
>> Hello,
>>
>> In a project I'm using both an sql server database (TMSSQLConnection)
>> and a postgresql one (TPQConnection).
>> One of the TStringField is defined as size 100, but in the sql server
>> it has been changed to to 200.
>> Even without changing the TStringField.Size in the program I can get
>> values longer than 100 characters.
>> I did a test with the TPQConnection and if I change the size of a
>> field, the TStringField is truncated according to its size.
>> Why the difference between the two database connectors? Shouldn't it
>> depend exclusively on the TField implementation?
>
> No, the field size is calculated by the connection component and whether or
> not it uses UTF8 for the character set.
That's not what the documentation says
https://www.freepascal.org/docs-html/fcl/db/tstringfield.size.html
(emphasis mine)
"it is the declared *maximum* size of the string (in *characters*) and
is used to calculate the size of the dataset buffer."
In any case I would expect the same behaviour regardless of the database
connector used.
Bye
--
Luca
More information about the fpc-pascal
mailing list