Пока не понял природу этой ошибки, но решил зафиксировать, мало ли кому понадобится.
1 2 |
First chance exception at $7470A832. Exception class EDatabaseError with message 'FDTable: Type mismatch for field 'name', expecting: String actual: WideString' |
Такая ошибка появилась у меня в результате работы с базой MySQL с кодировкой UTF8 и FDConnection, также с кодировкой UTF8, но передаваемым не напрямую, а через другой модуль. У меня была проблема с тем, что кириллица не отображалась корректно в FDTable и мне пришлось искать решение какое-то время.
Решение №1
В ручную создать новые поля типа WideString в FDTable или FDQuery (смотря с чем работаете) взамен тех, у которых тип String. Например так
После того как я в ручную создал эти поля и удалил те, которые String – все стало как нужно.
ПолуРешение №2 (оно только очистит поля)
1 |
DataBaseUnit.FDTable.Fields.Clear; // fix for bug 'type mismatch' |
Но в этом случае придется пересоздавать поля