Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать, модифицировалась ли таблица в сети? / 10 сообщений из 10, страница 1 из 1
02.04.2004, 14:18
    #32467135
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Здравствуйте!
Есть локальная сеть. 3 компьютера. VFP7. Перед формированием отчета я должен узнать, модифицировалась ли база кем-либо из пользователей, чтобы не переформировывать отчёт, если данные не менялись? Локальных представлений нет.
...
Рейтинг: 0 / 0
02.04.2004, 14:49
    #32467189
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Дата последней модификации файла поможет?
...
Рейтинг: 0 / 0
02.04.2004, 14:58
    #32467200
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Думаю, что нет, нужна проверка на достоверность данных перед формированием отчёта. Делал, мне кажется, криво. На кнопке СОХРАНИТЬ на форме заводил табличку в базе. Перед формированием проверка на существование. Если есть - переформировываю отчёт, если нет - данные не изменялись.
...
Рейтинг: 0 / 0
02.04.2004, 15:23
    #32467254
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
А так ли важно переформировывать отчет именно по факту изменения базы, а не по факту потребности в отчете?
...
Рейтинг: 0 / 0
02.04.2004, 15:32
    #32467277
Череп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Знакомая тема. Я бы сделал псевдо-лог транзакций - таблица со структурой
timestamp
user
table
куда бы писал по завершении каждой операции с таблицами БД. Каждый клиент должен помнить свою последнюю транзакцию. Отчеты берут данные из определенных таблиц. Следовательно при наличии новых timestampов в логе - обновлять данные для reportа.
Вообще, лог - полезная штука. Если хранить еще и названия бизнес-процедур со значениями параметров - незаменимо при разборе полетов. Обычно, после корпоративных пьянок юзеров в обеденный перерыв, программа сама удаляет строки из документов ))) Бывает же такое )))
...
Рейтинг: 0 / 0
02.04.2004, 16:24
    #32467399
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
to Urri
Согласен - именно по факту потребности в отчете, но в отчёте с живыми данными.
И в догонку вопрос - если запись заблокирована локальным ползователем, то, что я выберу по SELECT'у, зависит от типа буферизации?
...
Рейтинг: 0 / 0
02.04.2004, 16:52
    #32467465
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Вопрос интересный...

На самом деле, если у меня буферизация таблицы, и я что-то там изменил и не сохранил пока, то как будет вести себя мой же селект по этой таблице - я и сам не могу сказать, потому что никогда такого не делал. ;-) Предполагаю, что он должен учесть мои собственные несохраненные изменения.

Если же что-то изменил другой пользователь, то его изменения не будут учтены до тех пор, пока они не будут сброшены из его буфера в таблицу, независимо от типа буферизации. Операции, требующие только чтения, выполняются над заблокированными строками точно так же, как и над разблокированными.

Есть нюанс - настройка SET LOCK (см. HELP).
Она влияет на выполнение команд
AVERAGE, CALCULATE, COPY TO, COPY TO ARRAY, COUNT, DISPLAY (with a scope), INDEX, JOIN (both files), LIST, LABEL, REPORT, SORT, SUM, TOTAL.
(Как видно, SELECT среди них не значится).
...
Рейтинг: 0 / 0
02.04.2004, 17:37
    #32467556
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Благодарствуйте!
...
Рейтинг: 0 / 0
02.04.2004, 18:20
    #32467644
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Select-SQL всегда выполняет запрос по исходным таблицам никак не используя их буфер (вчера на сайте foxclub.ru как раз развлекались по этому поводу).

Т.е. даже если ты сам что-то там в буфере изменил, но пока не сбросил этот буфер Select-SQL вернет выборку так, как будто ты еще ничего и не менял.
...
Рейтинг: 0 / 0
02.04.2004, 18:30
    #32467658
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать, модифицировалась ли таблица в сети?
Спасибо за ценное дополнение.
Получается, что реализация несколько странная (с моей точки зрения, конечно). Хотя, безусловно, так FoxTeam'у было проще реализовать.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как узнать, модифицировалась ли таблица в сети? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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