Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.05.2004, 10:53
|
|||
|---|---|---|---|
|
|||
MS SQL->VFP8.0 |
|||
|
#18+
Сейчас столкнулся еще с одной проблемой: раньше из фокса вызывались процедуры sql server'a, теперь нужно перенести их на фокс 1) пройдет ли такой вызов на фоксе (лично я сомневаюсь, но может vfp8.0 поддерживает?) INSERT INTO ARHPOW(idob, id_meter, m_gr, m_adr, mpower, rpower, dattim) SELECT idob, id_meter, m_gr, m_adr, mpower, rpower, dattim FROM TMPPOW1 2) вторая процедура: UPDATE ARHPOW SET MPOWER=TMPPOW1.MPOWER, RPOWER =TMPPOW1.RPOWER FROM TMPPOW1 WHERE ARHPOW.M_GR =TMPPOW1.m_gr AND ARHPOW.M_ADR=TMPPOW1.m_adr AND ARHPOW.DATTIM=TMPPOW1.dattim DELETE FROM TMPPOW1 FROM ARHPOW WHERE TMPPOW1.m_gr=ARHPOW.M_GR AND TMPPOW1.m_adr=ARHPOW.M_ADR AND TMPPOW1.dattim=ARHPOW.DATTIM такое фокс поймет но по-моему не так как sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2004, 11:00
|
|||
|---|---|---|---|
|
|||
MS SQL->VFP8.0 |
|||
|
#18+
по поводу insert вопрос снимается, нашел в хелпе что можно, ну а на второй жду ответов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2004, 11:05
|
|||
|---|---|---|---|
|
|||
MS SQL->VFP8.0 |
|||
|
#18+
Далее, update и delete точно не пройдут из-за синтаксиса(операторы from) Предложите, please, фоксовский аналог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2004, 11:20
|
|||
|---|---|---|---|
|
|||
MS SQL->VFP8.0 |
|||
|
#18+
ИЗменил на такое вот GO TOP IN TMPPOW1 DO WHILE !EOF(TMPPOW1) UPDATE ARHPOW SET MPOWER = TMPPOW1.MPOWER, ; RPOWER = TMPPOW1.RPOWER ; WHERE ARHPOW.M_GR = TMPPOW1.m_gr AND ; ARHPOW.M_ADR = TMPPOW1.m_adr; AND ARHPOW.DATTIM = TMPPOW1.dattim IF _TALLY != 0 SELECT TMPPOW1 DELETE SKIP -1 ENDIF SKIP ON TMPPOW1 ENDDO Сейчас тестирую, но если кто сразу видит ошибки сообщите, секономьте мне время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2004, 11:50
|
|||
|---|---|---|---|
MS SQL->VFP8.0 |
|||
|
#18+
Вместо цикла DO WHILE !EOF() используй цикл SCAN...ENDSCAN Если я правильно понял, что именно тебе нужно, то попробуй так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Чтобы поиск по LOCATE выполнялся быстрее в таблице ARHPOW должны существовать 3 индекса по полям M_GR, M_ADR, DATTIM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2004, 12:16
|
|||
|---|---|---|---|
|
|||
MS SQL->VFP8.0 |
|||
|
#18+
Да ты понял почти все правильно, только запись удаляется если найдена, т.е. твой код только без else ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2004, 12:39
|
|||
|---|---|---|---|
MS SQL->VFP8.0 |
|||
|
#18+
Как-то сразу не подумал. Сколько записей может удовлетворять условию поиска, которе я написал в LOCATE? Мой код сработает только если не больше 1. Если же возможно несколько записей, то следует переписать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Впрочем, можно оставить и UPDATE-SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1596589]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
89ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 276ms |
| total: | 467ms |

| 0 / 0 |
