powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как зафиксировать в БД дату её посл. изменения?
7 сообщений из 7, страница 1 из 1
Как зафиксировать в БД дату её посл. изменения?
    #33715284
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу БД в VFP 9.0
Хочу чтоб при входе в базу на главной форме показывалось окошко с датой последних изменений данных.
Подскажите пути решения...
...
Рейтинг: 0 / 0
Как зафиксировать в БД дату её посл. изменения?
    #33715534
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Служебная таблица с полем типа Date.

На каждую таблицу базы данных (кроме этой служебной) вешаешь триггер на все 3 события (Delete, Insert, Update). В этом триггере команда на модификацию поля в этой служебной таблицы.
...
Рейтинг: 0 / 0
Как зафиксировать в БД дату её посл. изменения?
    #33715609
grayalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну или, как вариант, при старте программы выполнить ADIR(mas,'<путь к таблицам\*.dbf>'). Затем mas(x,3) даст дату, а mas(x,4) - время последней модификации файлов.
Но лучше, наверное, все-таки через служебную таблицу...
...
Рейтинг: 0 / 0
Как зафиксировать в БД дату её посл. изменения?
    #33715878
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что за команда на модификацию поля служ. таблицы?
просто я не знаток sql, перепробывал всяко разно уже, не получатца... ))))
...
Рейтинг: 0 / 0
Как зафиксировать в БД дату её посл. изменения?
    #33716138
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чем здесь SQL? Ты же работаешь в FoxPro и модифицируешь таблицу FoxPro. А для этого есть команда REPLACE

Код: plaintext
1.
2.
select MyTab
REPLACE LastModify WITH Date()

Впрочем, можно и через UPDATE-SQL

Код: plaintext
UPDATE MyTab SET LastModify WITH Date()

Здесь MyTab - это имя служебной таблицы, а LastModify - имя поля. Предполагается, что в таблице есть всего одна запись. Если это не так, то надо добавить условие отбора нужной записи для модификации
...
Рейтинг: 0 / 0
Как зафиксировать в БД дату её посл. изменения?
    #33716333
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grayalexНу или, как вариант, при старте программы выполнить ADIR(mas,'<путь к таблицам\*.dbf>'). Затем mas(x,3) даст дату, а mas(x,4) - время последней модификации файлов.
IMHO очень трезвая идея
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
lcPath = "\\server\DB\" && Директория, где лежат файлы dbf

Create Cursor _temp1 ( f1 C( 1 ), f2 I, f3 D, f4 C( 8 ), f5 C( 1 ))

= ADir(laDBF, lcPath + "*.dbf")

Append From array laDBF

Select f3, f4 from _temp1 into cursor _temp2 order by f3 descending , f4 descending

ldDate_LastModified = _temp2.f3 && Дата последней модификации
lcTime_LastModified = _temp2.f4 && Время последней модификации

USE in _temp1
USE in _temp2
...
Рейтинг: 0 / 0
Как зафиксировать в БД дату её посл. изменения?
    #33721292
Adic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир! Респект, получилось!
Тока написал так:
PROCEDURE AddNewDate
SELECT Служебная
replace cur_date WITH DATE()
SELECT Служебная
Return .T.

Спасибо за помощь :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как зафиксировать в БД дату её посл. изменения?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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