Olvidate del Checkbox, estas trabajando con el tipo Boolean
El problema no es el tipo Boolean. El problema es que en la base le pusiste varchar
Si buscas en la
documentacion, a partir de determinada version introdujeron el tipo BIT que es un alias de TINYINT(1). Dentro de los TINYINT, el valor 0 es considerado False, el resto son True
Luego, desde Delphi, no tiene porque importarte como MYSQL maneja el tipo Boolean
Usa
parametros en tus consultas y comandos sql
Código Delphi
[-]
var
qry: TADOQuery;
begin
qry := TADOQuery.Create(NIL);
try
qry.SQL.Text := 'INSERT INTO Tabla (Flag) VALUES (:Flag) ';
qry.Parameters.ParamByName('Flag').DataType := ftBoolean;
qry.Parameters.ParamByName('Flag').Value := CheckBox1.Checked;
qry.SQL.Text := 'SELECT * FROM Tabla';
qry.Open;
CheckBox1.Checked := qry.FieldByName('Flag').AsBoolean;
finally
qry.Free;
end;
end;