Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как обновить данные исходной таблице? / 12 сообщений из 12, страница 1 из 1
16.03.2004, 10:32
    #32442959
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
Есть расшаренная таблица. Пользователь вводит данные. Если есть двойняшки по вводимым записям, выбираю во временную таблицу на машине пользователя. Таблицу предлагаю на редактирование в GRID на форме. После редактирования как мне обновить соответсвующие записи в исходной талице? В таблице есть уникальный ключ. Нахожу родную запись в исходной таблице по нему. Правильно ли я делаю, или есть боллее элегантное решение?
...
Рейтинг: 0 / 0
16.03.2004, 12:13
    #32443214
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
Люди, покритикуйте, пожалуйста!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
16.03.2004, 12:49
    #32443341
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
самое простое - редакти прям запись, предварительно залочиф ее. Хочешь знать больше - читай про разные типы блокировок, пользование переменных памяти, команду REPLACE, обновляемые представления.. Эта тема слишком глобальная ;)))
...
Рейтинг: 0 / 0
16.03.2004, 18:54
    #32444356
MaestroEv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
А че критиковать? Все вроде верно. Редактируешь на клиентской временной таблице, а при сохранении ищешь на сервере и меняешь - нужно лишь разобраться что делать с другими претендентами на редактирование этой же записи...
...
Рейтинг: 0 / 0
17.03.2004, 10:15
    #32444818
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
Дальше, я полагаю,
SET REPROCESS TO 30 SECONDS
scatter name <tmo_obj>
seek <edit_recno> (другие не удаляют, только вставляют записи)
if rlock(<edit_recno>)
gather name <tmo_obj>
else
messsagebox("Attemt later")
endif
...
Рейтинг: 0 / 0
17.03.2004, 10:22
    #32444834
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
Дальше, я полагаю,
SET REPROCESS TO 30 SECONDS
scatter name <tmo_obj>
seek <edit_recno> (другие не удаляют, только вставляют записи)
if rlock(<edit_recno>)
gather name <tmo_obj>
else
messsagebox("Attemt later")
endif
...
Рейтинг: 0 / 0
17.03.2004, 10:26
    #32444846
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
Дальше, я полагаю,
SET REPROCESS TO 30 SECONDS
scatter name <tmo_obj>
seek <edit_recno> (другие не удаляют, только вставляют записи)
if rlock(<edit_recno>)
gather name <tmo_obj>
else
messsagebox("Attemt later")
endif
...
Рейтинг: 0 / 0
17.03.2004, 10:33
    #32444872
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
Пардон... что-то (или кто-то) глючит.....
...
Рейтинг: 0 / 0
17.03.2004, 12:32
    #32445182
andrew_Pr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
to n0name
Более элегантное решение - использовать Local View.
(Если ты пишешь на VisualFox)
Тогда весь этот код тебе не понадобится, Фокс сам все зделает за тебя.
...
Рейтинг: 0 / 0
17.03.2004, 14:00
    #32445408
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
to andrew_Pr
Если можно, хотя бы в двух-трёх предложениях, пожалуйста, поподробнее.
Да у меня VFOX(7-й).
...
Рейтинг: 0 / 0
17.03.2004, 15:59
    #32445726
andrew_Pr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
В проекте на закладке Data в дереве баз данных в вашу БД добавляете
новую Local View. При этом вам раскрывается окно View Designer,
в котором вы мышкой указываете какую исходную таблицу будете брать,
какие поля редактировать, по каким полям сравнивать записи в исходной
и временной таблице, по какому признаку будете отбирать записи для Grida
(если не хотите в Gride показывать все записи) и т.д.
Сохраняете под именем, ну например v_table1.
Эта операция проделывается 1 раз, так же как создание исходной таблицы.

А потом в процедуре когда понадобится пишите
Use v_table1
и готово дело! Fox тотчас же создаст у юзера на локальной машине
временную табличку с алиасом v_table1 и в соответствии с заданными тобой
критериями.
Юзер меняет данные в этой временной табличке. А Fox автоматом изменяет
соответствующие данные в исходной таблице.
Подробнее смотри Help Views
...
Рейтинг: 0 / 0
17.03.2004, 16:31
    #32445816
n0name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обновить данные исходной таблице?
to andrew_Pr
Спасибо большое за отзывчивость!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как обновить данные исходной таблице? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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