Генератор SQL и псевдонимы полей

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Ответить
Akella
Сообщения: 210
Зарегистрирован: Пн 02 апр 2012 14:41

Генератор SQL и псевдонимы полей

Сообщение Akella » Ср 17 мар 2021 09:09

Добрый день.
SQLGenerator некорректно генерирует insert/update запросы, если используются всевдонимы
Firebird 3.

Вот пример запроса:

Код: Выделить всё

select id, name "имя", deleted "архив" from table1
вот так сгенерированные запросы выглядят после генерации:

Код: Выделить всё

INSERT INTO STREETS
  (ID, NAME, DELETED)
VALUES
  (:ID, :"имя", :"архив")
и

Код: Выделить всё

UPDATE STREETS
SET
  ID = :ID, NAME = :"имя", DELETED = :"архив"
WHERE
  ID = :Old_ID
по идее, псевдонимы не должны участвовать в insert/update?

oleg0k
Devart Team
Сообщения: 21
Зарегистрирован: Вт 10 мар 2020 17:46

Re: Генератор SQL и псевдонимы полей

Сообщение oleg0k » Чт 18 мар 2021 16:33

Здравствуйте,
Опишите, пожалуйста, подробнее, в чём заключается проблема. Автоматически сформированный запрос является синтаксически корректным и не приводит к ошибкам при выполнении. При необходимости вы можете задать запрос вручную в свойствах SQLInsert и SQLUpdate.

wbr, Oleg
Devart Team

Akella
Сообщения: 210
Зарегистрирован: Пн 02 апр 2012 14:41

Re: Генератор SQL и псевдонимы полей

Сообщение Akella » Чт 18 мар 2021 17:25

я думал, что вот так правильно

Код: Выделить всё

INSERT INTO STREETS
  (ID, NAME, DELETED)
VALUES
  (:ID, :NAME, :DELETED)
разве нет?

oleg0k
Devart Team
Сообщения: 21
Зарегистрирован: Вт 10 мар 2020 17:46

Re: Генератор SQL и псевдонимы полей

Сообщение oleg0k » Пт 19 мар 2021 14:05

Здравствуйте, эти запросы фомируются автоматически для выполнения операций Insert/Append/Edit/Delete. Запросы являются корректными с точки зрения синтаксиса и выполняются без ошибок. Как мы писали ранее - при необходимости вы можете задать эти запросы вручную.

wbr, Oleg
Devart Team

Ответить