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
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal