powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как посоветуете обновлять базу?
4 сообщений из 4, страница 1 из 1
Как посоветуете обновлять базу?
    #33848633
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Значит есть база JudgeCaseTypes, в ней тока одно поле - CaseType. На форме юзеру дается возможность в эту базу добавить строки и/или удалить - короче редакция в полный рост! :) Тока юзер на самом редактирует курсорную копию той базы - на случай ежели не подтвердит свои изголения потом кнопкой Применить, а завместо этого нажмет Выход.

Ну а проблемка нарисовалать когда при нажатии Применить - вот в чем вопрос! Как мне теперь собственно вооружившись курсорной копией обновить реальную базу?
UPDATE здесь не катит - поле тока одно :) А что тогда делать? Ведь юзер мог и удалить что-то и добавить что-то?

1) Сканировать с поиском и удалять удаленное/ненайденное и INSERT INTO добавленное?
2) Мне это не нравится, но на данном этапе я делаю:
select JudgeCaseTypes
delete all
appe from curJudgeCaseTypes

фокса-9
...
Рейтинг: 0 / 0
Как посоветуете обновлять базу?
    #33848683
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неверна структура таблицы - должно быть еще одно поле с уникальными значениями, по кторым можно было бы иденитифицировать данную запись...
...
Рейтинг: 0 / 0
Как посоветуете обновлять базу?
    #33848687
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче сканами сделал так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
* Вставляем новые/добавленные данные из курсора в базу
SELECT curJudgeCaseTypes4Edit
SCAN
   SELECT JudgeCaseTypes
   LOCATE FOR CaseType=curJudgeCaseTypes4Edit.CaseType
   IF NOT FOUND()
      INSERT INTO JudgeCaseTypes (CaseType) VALUES (curJudgeCaseTypes4Edit.CaseType)
   ENDIF
ENDSCAN
* А теперь удаляем удаленные
SELECT JudgeCaseTypes
SCAN 
   SELECT curJudgeCaseTypes4Edit
   LOCATE FOR CaseType=JudgeCaseTypes.CaseType
   IF NOT FOUND()
      DELETE 
   ENDIF
ENDSCAN 
не знаю тока как в последнем скане будет все работать если у меня установлено SET DELETED ON - не будет ли счетчик скана "проскакивать" 1 запись из-за DELETE? Мож лучше выставить SET DELETED OFF и проверять по DELETED()?
...
Рейтинг: 0 / 0
Как посоветуете обновлять базу?
    #33848940
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да тут дело в том что в этой таблице мне не нужен идентификатор записи. У меня везде есть, кроме как в ней. Тама нету темы отредактированного поля, там просто список кодов типов. И в этом списке либо есть опреденный код либо он в списке не нужен.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как посоветуете обновлять базу?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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