powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Конфликт обновления в View'ке
4 сообщений из 4, страница 1 из 1
Конфликт обновления в View'ке
    #33482231
demux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здравствуйте.
Созданы две таблицы в MS SQL Server 2000

В FoxPro 8 я создал представления для двух таблиц. У меня есть две формы:
Представление настроено так:
Вкладка Update Criteria
в SQL WHERE clause includes
установлен - key field only
___________________________
в Update using
установлен - SQL UPDATE
___________________________
Стоит галочка Send SQL update

1-я для того, чтобы просматривать список людей (Фамилия, Имя, Отчество)
2-я для просмотра детальной информации по человеку.
Представление в 1-ой и 2-ой формах подключаю через THISFORM.Init() в ручную
WITH THISFORM.Grid1
.RecordSource="RoomerCardIndexDB"
.ColumnCount = 4
.Column1.ControlSource = "RoomerCardIndexDB.Surname "
.Column2.ControlSource = "RoomerCardIndexDB.Name "
…..
ENDWITH
Так вот в первой форме когда я выбираю человека из списка (Представления), например IDRoomer = 3 и вхожу в карточку с детальной информацией (запускаю вторую форму), и редактирую поля таблицы DetailsRoomerDB,
которые привязаны к обьектам Text1, Text2, и т.д. то по закрытию в формы происходит ошибка «Конфликт обновления», если с другой копии программы удалили из таблицы RoomerCardIndexDB запись c IDRoomer = 3.

Вопрос: Как блокировать запись в таблице RoomerCardIndexDB и принадлежащие ей записи в DetailsRoomerDB чтобы в другой копии приложения выдавать сообщения о том что эта запись уже редактируется?

p.s. С уважением, Алексей.
...
Рейтинг: 0 / 0
Конфликт обновления в View'ке
    #33483112
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi demux!

Никак не надо блокировать - надо решать конфликт обновления - например
предложить "восстановить" эту запись (т.е. заменить по сути операцию Update
на Insert - при этом наверное стоит этому человечку дать новый код - дабы уж
реально "развязаться" со старыми записями). Другой подход - эмулировать
фоксовый флаг Deleted - т.е. реально запись не удалять, а просто ставить
флаг что запись "неактивна/удалена" - тогда можно будет проводить и операцию
"восстановления". Есть вообще такая схема работы, которая предусматривает
ТОЛЬКО использование операций INSERT - при этом Update и Delete тоже по сути
делают вставку - просто особыми флагами указывается что же за операция была
проведена... Конечно схема более сложна, и если правок много, то будет очень
много избыточных записей с "историей изменений" - но для ряда задач это
оправдано.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Конфликт обновления в View'ке
    #33486710
demux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь, спасибо за ответ (я думал никто уже не ответит). Но у меня появились некоторые вопросы по вашему ответу: Где можно посмотреть реализацию (алгоритм, схему работы), которая предусматривает
ТОЛЬКО использование операций INSERT (а Update и Delete заменены операцией Insert) т.е. сложную схему с "истрией".
...
Рейтинг: 0 / 0
Конфликт обновления в View'ке
    #33493134
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi demux!

Честно говоря не скажу где есть нормальное описание подобных схем - если уж
совсем "припёрло" могу на мыло (дабы не попасть в мусорку для спама стоит
использовать осмысленные темы и во From указать помимо адреса ещё и имя -
тогда шанс что письмо "пройдёт" заметно возрастает :) ) закинуть некоторые
внутренние материалы - но это не есть реализация, и я бы не сказал что там
всё описано "простым человеческим языком" - увы :(

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Конфликт обновления в View'ке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]