Если вы передадите True параметру AExecDirect , FireDAC пропустит подготовку команды перед ее выполнением (и некоторые вещи, связанные с используемой СУБД).Поэтому он предназначен только для команд, выполняемых только один раз без явной подготовки команды.
ExecSQL перегрузка метода.Вызов этого модифицирует параметр
DirectExecute (по значению параметра
AExecDirect ) объекта, что может быть непредвиденным.
Проблемаможет возникнуть в ситуациях, когда один вызывает перегрузку этого метода с помощью значения True , переданного параметру AExecDirect , ожидая, что последующие вызовы другого ExecSQL вызовы перегрузки неявно подготовят команду.Они не будут, так как опция DirectExecute будет включена.
Итак, ссылка на опцию DirectExecute фактическиописывает этот параметр (так как этот параметр перегрузки этого метода устанавливает этот параметр):
Управляет подготовкой операторов SQL.
Используйте свойство DirectExecute, чтобы указать, должен ли FireDAC подготовитьОператор SQL перед его выполнением (False) или выполнение непосредственно (True).Значением по умолчанию является False.
Это свойство было впервые введено для поддержки MS SQL Server.Подготовленное и прямое выполнение может иметь разные последствия, и даже подготовленное выполнение может не сработать.Если вы получите специфические ошибки, попробуйте установить для DirectExecute значение True.