Firedac MySQL boolean fields

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. 


http://www.tmssoftware.biz/business/aurelius/doc/web/configuring_sql_dialects.html



uses Aurelius.Sql.Register, Aurelius.Sql.MySQL;
{...}
(TSQLGeneratorRegister.GetInstance.GetGenerator('MySql') as TMySQLSQLGenerator).UseBoolean := True;