![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
upWhereKeyOnly? [D7, MSSQL]
Michail Dalakov © (2004-02-02 17:51:00)
Как данной опцией управлять из TClientDataSet, а не на сервере в компоненте TQuery
Romkin (2004-02-03 11:03:00) [1]
Совершенно верно. Все работает так, как должно. Действительно, прошу учесть, что если в запросе поля не прописаны (нет persistent fields), то после открытия запроса в нем организуется те поля, которые нужны. Нужно просто прописать в одном из событий провайдера установку флагов этих полей.
А еще лучше, действительно, не писать приложение, пока структура БД не спроектирована хотя бы на 90%А то кошмар получается. Хотя в некоторых случаях может помочь дополнительная прослойка, из тех же TClientDataset, но на сервере.
Рекомендую, кстати: http://rsdn.ru/article/db/midas.xml
умный человек писал ;) Там есть во врезке и описание флагов
Nikolay M. (2004-02-03 09:26:00) [2]
> Установка в TQuery upWhereKeyOnly + установка в объектах-полях
> требуемых ProviderFlags работает
Дык именно так оно и должно работать. Если часто приходится менять структуру таблиц (а это есть совсем не правильно, имхо), то можно попробовать выставлять флаги полей в рантайме на лету.
Michail Dalakov (2004-02-02 19:41:00) [3]
1.Просто установка этого флага не помогает.
2.Установка в TQuery upWhereKeyOnly + установка в объектах-полях требуемых ProviderFlags работает.
3.Установка 1 + установка в объектах-полях TClientDataSet требуемых ProviderFlags не работает.
Всегда использовал 2, но данная ситуация такова, что БД очень часто меняется, и постоянно добавлять или удалять объекты-поля на сервере не очень полезно для здоровья
Romkin (2004-02-02 19:07:00) [4]
А это на сервере, и не у запроса, а у провайдера, это его флаг. Собственный, он определяет режим поиска записи в базе для изменения только по ключу. Для cds он смысла не имеет