IBDAC / UniDAC + interbase 6 или 7 + поле таблицы с именем «возвращение» - PullRequest
0 голосов
/ 10 августа 2010

Я портирую действительно старый код для использования компонентов UniDAC. Я ударил стену с конкретным обновлением SQL, который меняет поле с именем «возвращение». Простое завершение поля в кавычки не решает проблему, поскольку диалект SQL в базе данных равен 1, что не поддерживает разделители полей в двойных кавычках. Есть ли способ обойти это без изменения поля? Я нахожусь на Delphi 7, и ухожу от компонентов базы данных interbase.

Редактировать : SQL выглядит следующим образом:

update logger set
returning = :RETURNING
where locator = :LOCATOR

возвращает следующую ошибку при попытке подготовиться:

---------------------------
Ww
---------------------------

Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
where.
---------------------------
OK   
---------------------------

Это происходит, даже когда я устанавливаю клиентский диалект SQL на 1 в коде:

query1.Connection.SpecificOptions.Values['SQLDialect'] := '1';

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Мне пришлось поговорить с разработчиком.Он был адресован определенной точке, но мне нужно удалить все параметры в запросе перед его выполнением.Очень странно, но это обходной путь: /

0 голосов
/ 11 августа 2010

Возможно ли для вас создать представление, оставляя все то же самое, за исключением этого поля, и использовать это представление в вашем приложении?

Возможно ли запустить это приложение с клиентской DLL Firebird <2.1 (например, 1.5) и сервером с той же версией? </p>

Я думаю, это связано с новым синтаксисомгде возвращение является зарезервированным словом!

...