Не генерируется запрос _stUpdate (GenerateSQL)
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Сколько лет работаю с uniDAC, первый раз о таком слышу.
Странно, что мне техподдержка не посоветовала изначально просто оставить эти свойства пустыми и не пилить свой велосипед с TDBAccessUtils.SQLGenerator().
Ладно. Вдогонку еще вопрос. Если мне нужно, чтобы uniQuery не генерировал свои update-запросы, какое свойство нужно отключить?
Спасибо.
Странно, что мне техподдержка не посоветовала изначально просто оставить эти свойства пустыми и не пилить свой велосипед с TDBAccessUtils.SQLGenerator().
Ладно. Вдогонку еще вопрос. Если мне нужно, чтобы uniQuery не генерировал свои update-запросы, какое свойство нужно отключить?
Спасибо.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Как мы уже писали в предыдущем посте, для отключения автоматической генерации запроса его необходимо сгенерировать в дизантайме или установить вручную.
Более подробно о компоненте TUniQuery вы можете прочитать по ссылке:
https://www.devart.com/unidac/docs/deva ... iquery.htm .
О его свойствах, методах, событиях:
https://www.devart.com/unidac/docs/deva ... embers.htm .
Вы использовали внутренние методы, которые предназначены для внутреннего использования, поэтому их поведение может измениться в новых версиях и это никак не будет отражено в документации. Поэтому мы не рекомендуем их использовать.
Наши ответы зависят от вашего обращения в техподдержку. Если бы вы спросили, есть ли возможность генерировать SQL запросы в run-time без объяснения для чего это вам надо, то наша техподдержка могла вам предложить такое решение.
С уважением,
Евгений
Более подробно о компоненте TUniQuery вы можете прочитать по ссылке:
https://www.devart.com/unidac/docs/deva ... iquery.htm .
О его свойствах, методах, событиях:
https://www.devart.com/unidac/docs/deva ... embers.htm .
Вы использовали внутренние методы, которые предназначены для внутреннего использования, поэтому их поведение может измениться в новых версиях и это никак не будет отражено в документации. Поэтому мы не рекомендуем их использовать.
Наши ответы зависят от вашего обращения в техподдержку. Если бы вы спросили, есть ли возможность генерировать SQL запросы в run-time без объяснения для чего это вам надо, то наша техподдержка могла вам предложить такое решение.
С уважением,
Евгений
Последний раз редактировалось EvgeniyM Вт 13 июл 2021 07:59, всего редактировалось 1 раз.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Вы не поняли, наверное.
Как сделать, чтобы тела update-запросов были пустыми.
Как сделать, чтобы тела update-запросов были пустыми.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Как было указано ранее, свойства SQLInsert, SQLUpdate, SQLDelete, SQLRefresh по-умолчанию имеют пустое значение. В таком случае, при выполнении DML-операций соответствующие SQL-запросы будут сгенерированы автоматически. Если для любого ил указанных свойств будет установлен SQL-запрос в runtime, либо с использованием редактора в design-time - то будет использован этот запрос.
Что вы имеете ввиду под "тела update-запросов были пустыми"? Мы подразумеваем под этим SQUpdate.Text := ''.
Что вы имеете ввиду под "тела update-запросов были пустыми"? Мы подразумеваем под этим SQUpdate.Text := ''.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Все верно.Мы подразумеваем под этим SQUpdate.Text := ''.
Что нужно отключить, чтобы после uniQuery.Open sql-запросы (SQUpdate, SQLInser, SQLDelete) оставались пустыми.
Фактически мне нужен только Select запрос.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Ничего отключать не нужно. Как было указано ранее, свойства SQLInsert, SQLUpdate, SQLDelete, SQLRefresh по-умолчанию и так имеют пустое значение. Если не устанавливать их вручную - то для DML-операций будут автоматически генерироваться нужные запросы в момент изменения данных. Свойства SQLInsert, SQLUpdate, SQLDelete, SQLRefresh при этом останутся пустыми.
Поэтому если вы вызвали метод Open и не выполняли изменений данных никакие заппросы на изменения формироваться не будут.
Поэтому если вы вызвали метод Open и не выполняли изменений данных никакие заппросы на изменения формироваться не будут.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
в третий раз пишу: мне этого не нужно, как это отключить?DML-операций будут автоматически генерироваться нужные запросы
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Уточните, пожалуйста, что именно Вы хотите отключить?
Если Вы вообще не собираетесь использовать редактирование данных в датасете - Вы можете установить свойство датасета ReadOnly в True.
Иначе - будет работать то поведение, которое мы описывали: либо будут использоваться запросы SQLInsert, SQLUpdate, SQLDelete, SQLRefresh (если Вы их задали явно), либо соответствующие запросы на изменение данных будут генерироваться автоматически.
Если Вы вообще не собираетесь использовать редактирование данных в датасете - Вы можете установить свойство датасета ReadOnly в True.
Иначе - будет работать то поведение, которое мы описывали: либо будут использоваться запросы SQLInsert, SQLUpdate, SQLDelete, SQLRefresh (если Вы их задали явно), либо соответствующие запросы на изменение данных будут генерироваться автоматически.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Код: Выделить всё
Уточните, пожалуйста, что именно Вы хотите отключить?
Извините, я уже и не знаю, как вам пояснить :(
что именно в моем вопрос непонятно? какое из слов?
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Код: Выделить всё
Если Вы вообще не собираетесь использовать редактирование данных в датасете - Вы можете установить свойство датасета ReadOnly в True.
Проблема в том, что, если включить ReadOnly, то сетка DBGrid часть полей "рисует" серыми.
По идее, датасет должен быть условно редактируемым, т.е. чтобы сетка "думала", что датасет редактируемый, а самом деле у датасета есть только select и refresh запросы. Как-то так.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Проблема с форумом - не могу прикрепить картинку к сообщению.
В статусе написано "Не удалось прикрепить вложение".
Не знаю, куда сообщить, поэтому пишу здесь.
В статусе написано "Не удалось прикрепить вложение".
Не знаю, куда сообщить, поэтому пишу здесь.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Запросы генерируются исключительно для изменения данных на сервере. Если изменения данных не происходит - они не генерируются.
Кроме этого если установить свойство LocalUpdate в True запросы генерироваться не будут. Но и на сервер никакие изменения уходить тоже не будут.
В режиме LocalUpdate данные в наборе данных изменяются локально, но информация об изменениях не сохраняется. Таким образом, вы не можете отправить изменения в базу данных.
Информация о режиме LocalUpdate доступна по ссылке:
https://www.devart.com/unidac/docs/deva ... update.htm
Кроме этого если установить свойство LocalUpdate в True запросы генерироваться не будут. Но и на сервер никакие изменения уходить тоже не будут.
В режиме LocalUpdate данные в наборе данных изменяются локально, но информация об изменениях не сохраняется. Таким образом, вы не можете отправить изменения в базу данных.
Информация о режиме LocalUpdate доступна по ссылке:
https://www.devart.com/unidac/docs/deva ... update.htm
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Спасибо!Кроме этого если установить свойство LocalUpdate в True запросы генерироваться не будут. Но и на сервер никакие изменения уходить тоже не будут.
Re: Не генерируется запрос _stUpdate (GenerateSQL)
Мы рады слышать, что проблема решена. Обращайтесь если у Вас возникнут другие вопросы или Вам потребуется дополнительная информация.