Как заставить DBExpress обрабатывать & quot; синтаксис AS поля & quot;

У меня есть запрос, используя синтаксис «поле как псевдоним».

Полный запрос:

SELECT specimen.animal_id, specimen.intake_date,
slices.id AS slice_id,
blocks.id AS block_id, blocks.status As block_status,
ribbons.id AS ribbon_id, ribbons.knife_id, ribbons.cutting_order,
ribbons.nr_of_sections, ribbons.status AS ribbon_status
FROM specimen
JOIN slices  ON specimen.id = slices.specimen_id
JOIN blocks  ON slices.id = blocks.slice_id
JOIN ribbons ON blocks.id = ribbons.block_id
WHERE ribbons.coverslip_id = :csID

Поскольку я объединяю несколько таблиц, в каждой из которых есть поля с одинаковыми именами, например, ‘id’ и ‘status’, синтаксис ‘field AS’ удобен.

Вышеуказанный запрос выполняется в TDataSet. У меня есть форма VCL с TDataSetProvider, TClientDataset и TDatasource, все они подключены для захвата выходных данных запроса в TDataSet.

Различные TDBEdits показывают данные поля после запроса. TDBNavigator подключен к TDataSource.

Проблема возникает, когда я пытаюсь редактировать любые возвращенные данные. При попытке опубликовать изменения, я получаю ошибки базы данных, говорящие о том, что «поле ribbon_id не существует».

Который, кажется, указывает на то, что существует путаница между реальным именем поля. и имя поля «КАК».

Вопрос в том, как исправить такую ​​ошибку при использовании синтаксиса «поле как»?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]