The situation is as follows.
I am trying to create a query to the database (MySQL database) to add a record.
I went the following way, through the parameters:
Form1.ADOQuery1.SQL.Add('INSERT INTO exam_users (`family`, `name`, `patronymic`, `birthdate`) VALUES (:family, :name, :patronymic, :birthdate)'); Form1.ADOQuery1.Parameters.ParamByName('family').Value:= Edit1.text; Form1.ADOQuery1.Parameters.ParamByName('name').Value:= Edit2.text; Form1.ADOQuery1.Parameters.ParamByName('patronymic').Value:= Edit3.text; Form1.ADOQuery1.Parameters.ParamByName('birthdate').Value:= Edit4.text; Form1.ADOQuery1.ExecSQL; Those. text variables were sent to the query.
They are written to the database, but with a warning window (Exception - see the picture). In the database field is also text: text .
What caused this behavior Delphi, or, more precisely, even the driver MySQL? (So how do I connect via "mysql-connector-odbc-5.2.7")?
(fig.1, fig.2).


Form1.ADOQuery1.SQL.Add('...Delphi line because it works from under Windows OS, according to all the rules, in the cp1251 encoding, it also feeds the data into the table. Since the data is come in a normal, readable form (in Cyrillic). - I_CaR