Страница 2 из 2

Re: TMSQuery.Open портит память

Добавлено: Ср 09 июл 2014 16:02
AndreyZ
Поведение при выполнении запроса, описанного в первом посте, зависит от OLE DB, и мы не можем на это повлиять.

Значение TMSQuery.Options.UniqueRecords установлено в True для возможности получать мета-информацию для корректной автогенерации запросов на изменение данных.

Вы можете устанавливать UniqueRecords в False только для SQL запросов, которые начинаются с конструкции WITH.

Re: TMSQuery.Open портит память

Добавлено: Чт 10 июл 2014 07:34
saupg
Хотелось бы уточнить ещё один момент: если я использую TMSQuеry только для получения данных, без необходимости редактирования (устанавливаю свойство ReadOnly := True), то нет никакого смысла в UniqueRecords = True? И для отключения лишних действий будет даже лучше отключать UniqueRecords для только читающих наборов данных (независимо от наличия конструкции WITH)?

Вообще странная ситуация с WITH. У меня редактируемые наборы данных с WITH (все, что я проверял) - работают нормально. А вот набор данных с WITH и ReadOnly = True, где никакого редактирования и не планировалось, приводит к ситуации из первого поста.

Re: TMSQuery.Open портит память

Добавлено: Чт 10 июл 2014 10:37
AndreyZ
Да, если вы используете рекордсет только для чтения, то нет особого смысла устанавливать UniqueRecords в True.