Я использовал AsWideString для передачи строки Unicode в параметр TADQuery.
ADQuery.Params.ParamByName('MyFld').AsWideString
Но когда строка становится слишком длинной, я получаю сообщение об ошибке:
[MyFld]. Max len = [8002], actual len = [10522]
Затем я решил использовать свойство AsMemo
ADQuery.Params.ParamByName('MyFld').AsMemo
В этом случае моя строка Unicode отображается неправильно.
Как решить обе проблемы?
AsString
используется для возврата строки ANSI из базовой базы данных. Даже в Юникоде Делфи. Это ловушка. - person TLama   schedule 28.01.2014