I have a problem usign FNCGrid through a AureliusConnection adapted on Firedac connection getting Booleans to work :
{
"error": {
"code": "MySQLNativeException",
"message": "[FireDAC][Phys][MySQL] Incorrect integer value: 'F' for column 'actif' at row 1"
}
}
The data modeler doesn't map my TinyInt fields to Boolean, so I have to modify the model manually substituting Integers for booleans. That way, the FNCGrid creates checkbox fields implicitely, nice.
But when posting changes, the above error appears...
I tried many combinations to make it work, using tifInteger intstead of Booleans in TinyIntFormat in FDConnection and adapting the schemas consequently.
I tried to modify the Check values as per:
TMSFNCGridDatabaseAdapter1.Columns[1].CheckFalse := '0';
TMSFNCGridDatabaseAdapter1.Columns[1].CheckTrue := '1';
TMSFNCGridDatabaseAdapter1.Columns[1].CheckBoxField := true;
or make the fields use DisplayValues as 1;0 but in the end, I don't find a way to make-it work proper.
Can you help? Thanks!
By default MySQL boolean fields are treated as char (T/F), not integer fields. You can change this behavior in the MySQL SQL generator by setting UseBoolean property to true.
uses Aurelius.Sql.Register, Aurelius.Sql.MySQL;
{...}
(TSQLGeneratorRegister.GetInstance.GetGenerator('MySql') as TMySQLSQLGenerator).UseBoolean := True;