|
|
|
обновление представлений
|
|||
|---|---|---|---|
|
#18+
Подскажите, как рациональнее делать. У меня есть навороченное представление. Фокс 6-ой. Каким образом лучше производить сброс данных в таблицы? 1. Делать представление обновляемым и прописывать с помощью dbsetprop() все свойства. 2. Делать его не обновляемым, а буферизировать таблицу и командой Update SQL обновлять таблицу. Я не так давно с фоксом. И хотелось бы идти по более правильному пути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 15:02:20 |
|
||
|
обновление представлений
|
|||
|---|---|---|---|
|
#18+
Если View сделано на базе одной таблицы, или обновляются поля только одной таблицы (остальные - только просмотр), то можно действовать через dbsetprop(). А вот если View построено на базе нескольких таблиц и надо обновлять поля из нескольких таблиц одновременно , то тут все сложнее. Сложности заключаются в определении внешних ключей. Т.е., теоретически, надо определить значение ключа родительской таблицы ДО сброса изменений в подчиненной. Возможны разные варианты решения, но надо знать более конкретную постановку задачи. Поэтому приведи: 1. Версию FoxPro 2. Собственно SQL-запрос, по которому строится View 3. Как формируется значение тех полей, по которым идет объединение в запросе (Autoincrement, NewID()) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 15:57:08 |
|
||
|
обновление представлений
|
|||
|---|---|---|---|
|
#18+
Ну сейчас запинаете. VFP 6.0. Дело было давно и таблицы такие: 1. k_job (sh_job, prof, razr, sist_opl). Да, без ключевого поля. Есть только индекс Candidate для sh_job с !deleted(). 2. tar_job (id, data, sh_job, tarif). 3. Ну и справочники sist_opl и spr_prof. Есть 2 представления. Первое по состоянию на дату Par_Data выводит все шифры работ с нужным тарифом. В нем обновляется только таблица k_job . Ну а второе обновляет только tar_job. NewId() формируется в default представления. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. В форме грид с представлением о всех шифрах работ (представление v_kjob ). А при нажатии на кнопку "добавить" или "редактировать" - другая форма, где редактируется этот шифр работ и грид с представлением v_tar_job. Пока писала, решила, что обновляемым сделаю только второе представление. И вообще, чем хорош форум, так это тем, что пока сформулируешь мысли и напишешь, сам найдешь ошибку или решение. У меня это уже неоднократно было. И спасибо всем отзывчивым участникам форума. Но все-таки опубликую. Может, еше что новое узнаю. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 17:02:10 |
|
||
|
обновление представлений
|
|||
|---|---|---|---|
|
#18+
Hi k_sv! > 1. k_job (sh_job, prof, razr, sist_opl). Да, без ключевого поля. Есть > только индекс Candidate для sh_job с !deleted(). Его и делай ключевым, только ОБЯЗАТЕЛЬНО следи за SET DELETED ON - иначе начнёт обновлять чёрт-те что. Можно конечно и руками всё делать - если не лениво :) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2005, 21:47:15 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33204412&tid=1593715]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 474ms |

| 0 / 0 |
