Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
странности TADODataSet
|
|||
|---|---|---|---|
|
#18+
Есть некий документ, к которому привязаны две таблицы. Причем первая ссылается только документ, а вторая - ссылается и на документ и на первую. Обе таблицы представлены как view WITH VIEW_METADATA и на них заведены INSTEAD of триггеры. На клиенте для вто-рой таблицы используется св-во Filtered. Соответсвенно, при сохранении (нового) документа, сначала сохраняется сам документ, получается его ID, потом во всех записях этих таблиц подставляется это новое ID, потом выполняется UpdateBatch. И все это, - как это ни удивительно - работает. Но - что уже не удивительно -не всегда. Во-первых, сложилось странное впечатление, что эта WITH_METADATA периодически слетает. Или что-то еще сбоит. и появляется View or function ххх is not updatable because the modification affects multiple base tables. Во-вторых, простенький код... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Так вот, RecordCount = 5, но после первого же прохождения цикла наступает Eof. И все сбивается к черту. Решилось как DataSet.Last перед First, но очень непонятно. Напоминает первую Дельфи. В-третьих, стоит чему-то сбится и потом все начинает вылезать: Row cannot be located for updating. Some values may have been changed since it was last read. Кто-нибудь может что-то посоветавать - или я выбрал неудачный способ редактирования данных с клиента, или что неправильно делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2003, 19:23 |
|
||
|
странности TADODataSet
|
|||
|---|---|---|---|
|
#18+
Насколько я помню RecordCount всегда показывает неотфильтрованное кол-во записей .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 15:22 |
|
||
|
странности TADODataSet
|
|||
|---|---|---|---|
|
#18+
Ну хоть кто-то откликнулся на вопль отчаявшейся души! :) RecordCount у меня показывает правильное число. Да и Filtered я предварительно снимаю. Проблема в том, что Next после первой же записи устанавливает Eof, что неверно. Подозреваю, что фильтрация здесь не виновата. Попробую юзать TBetterADODataSet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 23:59 |
|
||
|
странности TADODataSet
|
|||
|---|---|---|---|
|
#18+
Я бы вообще все возможные изменения делал в SP. Тогда пофиг какой VIEW. Быстрее будет точно. Ошибок меньше. Исправлять легче. Вот. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:48 |
|
||
|
странности TADODataSet
|
|||
|---|---|---|---|
|
#18+
Документ содержит в себе таблицы (гриды). Делать сохранение нового документа с одновременным сохранением прив. к нему таблиц через ХП достаточо геморройно - необходимо держать буферные табл., промежуточные идентификаторы и пр. А разницы в скорости между выполнением inser/update через триггер OF INSTEAD и ХП нет ни какой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 12:53 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32258657&tid=2116970]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 382ms |

| 0 / 0 |
