|
|
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Доброе время суток формчане. В IBDataSet.SelectSQL есть такой рабочий запрос: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Вопрос: Каким образом его можно запихнуть в IBDataSet.RefreshSQL? (P.S. конечно с одним ключевым полем EQUIPMENT.ID) Т.к. много входных параметров в вложенных процедурах И можно ли это вообще сделать? Просто не охота всевремя переоткрывать IBDataSet Спасибо за ответ (FireBird 3.0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 03:15 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Kos-2010, в EB добавь входной параметр "EQUIPMENT_ID integer" и в "from EQUIPMENT eq where" добавь соотв условие ч/з and "eq.id = :EQUIPMENT_ID", и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 03:44 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
ъъъъъ .... в EB добавь входной параметр "EQUIPMENT_ID integer" и в "from EQUIPMENT eq where" добавь соотв условие ч/з and "eq.id = :EQUIPMENT_ID", и всё. Добавил: авторEXECUTE BLOCK (EQUIPMENT_ID integer = :ID) RETURNS (... и авторwhere ARCHIVE in (1) and PASSPORT = 1 and ID = :EQUIPMENT_ID и это работает в IbExpert, но когда этот запрос вставляешь в IBDataSet.RefreshSQL и ставишь IBDataSet.Active = true начиннает валиться ошибка ErrorDynamic SQL Error SQL error code = -104 Token unknown - line 6, column 164 ?. на следющий выходной параметр (т.е с двоеточием) в запросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 14:33 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Хотя в источнике написано, что "Инструкция EXECUTE BLOCK поддерживается в TIBDataSet.InsertSQL, TIBDataSet.ModifySQL, TIBDataSet.DeleteSQL, в TIBQuery, в TIBStoredProc" но может с тех пор, что-то изменилось?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 15:01 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Delphi и IBX какого розлива? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 15:41 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Delphi 10.2 и InterBaseXE7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 16:31 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Kos-2010написано, что "Инструкция EXECUTE BLOCK поддерживается в TIBDataSet.InsertSQL, TIBDataSet.ModifySQL, TIBDataSet.DeleteSQL, в TIBQuery, в TIBStoredProc" И в каком месте этого списка ты видишь RefreshSQL?.. PS: Я уже не говорю, что этот источник - для совершенно левого форка, который ты не факт, что используешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 17:19 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov И в каком месте этого списка ты видишь RefreshSQL?.. Я и имел ввиду, что я не нашел RefreshSQL , и поэтому переспрросил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 17:35 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov PS: Я уже не говорю, что этот источник - для совершенно левого форка, который ты не факт, что используешь. Да, с "источником" - я лажанулся... А как по-другому эту сутуацию с обновлением одной записи решить и с таким "select"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 17:39 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Kos-2010А как по-другому эту сутуацию с обновлением одной записи решить и с таким "select"? Использовать мозг и хранимую процедуру не предлагать?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 18:45 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Использовать мозг и хранимую процедуру не предлагать?.. Та честно говоря, я от нее две недели назад отказался, а теперь не помню почему. Ну ладно если по-другому ни как, то буду в этом направлении работать. (P.S. может вспомню почему я от нее отказался) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 18:58 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Использовать мозг и хранимую процедуру не предлагать?.. В общем я оставляю все как есть, т.е. IBDataSet.SelectSQL , IBDataSet.InsertSQL , IBDataSet.ModifySQL , IBDataSet.DeleteSQL . Но при этом копирую запрос из IBDataSet.SelectSQL в хранимую процедуру, добавляю к ней входной параметр (ключевое поле ID ) А в IBDataSet.RefreshSQL делаю запрос к этой хранимой процедуре. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 21:12 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Если хранимка не умеет вытаскивать ровно одну строку - это ужасная архитектура. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2021, 21:20 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
УРААААААААА!!!! ПОЛУЧИЛОСЬ!!! ВСЕМ ЕЩЕ РАЗ СПАСИБО!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2021, 00:36 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
Kos-2010, база эта тут у же не первый раз. И в этом посте SelectSQL настолько ужасен, что напрочь отпадает желание что-то тут советовать или оптимизировать. Тем не менее, считаю, что надо бы всё это безобразие переделать. Не читать надо связанные таблицы из on external каждый раз, а база plan.fdb должна доставлять сертификаты и лаборатории при их изменениях в текущую базу. Чтобы при запросах не надо было никуда больше лазить. Как минимум, хоть plan.fdb и локальная база, если она брякнется, или коннекта к ней не будет, то вообще никаких данных получить будет нельзя. Так что сейчас ситуация выглядит как табуретка с тремя ногами (без четвертой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2021, 12:06 |
|
||
|
IBDataSet.RefreshSQL для нескольких баз
|
|||
|---|---|---|---|
|
#18+
kdv Kos-2010, ... Не читать надо связанные таблицы из on external каждый раз, а база plan.fdb должна доставлять сертификаты и лаборатории при их изменениях в текущую базу. Чтобы при запросах не надо было никуда больше лазить.... я разделяю вашу точку зрения (мне тоже не очень нравится общение с двумя базами) и вижу всего лишь 2 пути: 1) сделать каким- либо образом VIEW к plan.fdb из "centertest.fdb", хотя view не поддерживает такой технологии я не встречал 2) сделать в БД " centertest.fdb " две таблицы дубли " LABORATORY " и " CERTIFICATE " таблиц из plan.fdb (чего бы я не очень хотел бы делать: одно слово "дубли") или есть другие способы? я бы с удовольствием их рассмотрел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2021, 23:53 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40033313&tid=2037732]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
190ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 467ms |

| 0 / 0 |
