Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.09.2003, 19:23
|
|||
|---|---|---|---|
странности 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. Кто-нибудь может что-то посоветавать - или я выбрал неудачный способ редактирования данных с клиента, или что неправильно делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2003, 15:22
|
|||
|---|---|---|---|
странности TADODataSet |
|||
|
#18+
Насколько я помню RecordCount всегда показывает неотфильтрованное кол-во записей .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2003, 23:59
|
|||
|---|---|---|---|
странности TADODataSet |
|||
|
#18+
Ну хоть кто-то откликнулся на вопль отчаявшейся души! :) RecordCount у меня показывает правильное число. Да и Filtered я предварительно снимаю. Проблема в том, что Next после первой же записи устанавливает Eof, что неверно. Подозреваю, что фильтрация здесь не виновата. Попробую юзать TBetterADODataSet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2003, 10:48
|
|||
|---|---|---|---|
странности TADODataSet |
|||
|
#18+
Я бы вообще все возможные изменения делал в SP. Тогда пофиг какой VIEW. Быстрее будет точно. Ошибок меньше. Исправлять легче. Вот. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.09.2003, 12:53
|
|||
|---|---|---|---|
странности TADODataSet |
|||
|
#18+
Документ содержит в себе таблицы (гриды). Делать сохранение нового документа с одновременным сохранением прив. к нему таблиц через ХП достаточо геморройно - необходимо держать буферные табл., промежуточные идентификаторы и пр. А разницы в скорости между выполнением inser/update через триггер OF INSTEAD и ХП нет ни какой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2116970]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 386ms |

| 0 / 0 |
