|
|
|
Ошибка при открытии набора данных (FIBDataSet)
|
|||
|---|---|---|---|
|
#18+
При открытии набора данных (TpFIBDataSet) получаю такую ошибку "The cursor identified in the update or delete statement is not positioned on a row. no current record for fetch operation". Причем запрос такой : select ID, CODE, NAME, ID_PARENT, ID_GROUP from VIEW_REF_GOODS RG, REF_GROUP_ITEMS RGI where RG.ID = RGI.id_object and RG.id=:ID VIEW_REF_GOODS - это вьюха, REF_GROUP_ITEMS - обычная таблица В дизайнтайме если у датасета выставить AllowedUpdateKinds в [], то запрос срабатывает, а в рантайме не срабатывает. Если вместо вьюхи подсовывать обычную таблицу, то все работает. Затем поменял текст запроса так: select ID, CODE, NAME, ID_PARENT, ID_GROUP from VIEW_REF_GOODS RG JOIN ref_group_items RGI ON RG.ID = RGI.id_object where RG.id=:ID И всё стало нормально! Кто объяснит, в чем глюк? Компоненты вроде как последние, FireBird 1.0.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2003, 05:23 |
|
||
|
Ошибка при открытии набора данных (FIBDataSet)
|
|||
|---|---|---|---|
|
#18+
А в эксперте работает этот запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2003, 12:22 |
|
||
|
Ошибка при открытии набора данных (FIBDataSet)
|
|||
|---|---|---|---|
|
#18+
Блин, проверил в IBExpert, не работает. Ну а почему? Синтаксис ему не нравится или еще чего ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2003, 02:20 |
|
||
|
Ошибка при открытии набора данных (FIBDataSet)
|
|||
|---|---|---|---|
|
#18+
Вы попробуйте это обязательно на FB1.5, т.к. Дмитрий Еманов сказал, что релиз уже готовят к выпуску. Это похоже на багу какую-то, но, возможно, она исправлена в полуторке. Если будет ругаться - напишите сразу на news://forums.demo.ru/epsylon.public.interbase чтоб её исправить успели перед релизом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2003, 11:11 |
|
||
|
Ошибка при открытии набора данных (FIBDataSet)
|
|||
|---|---|---|---|
|
#18+
Итак, написал на news://forums.demo.ru/epsylon.public.interbase, по порядку: 1. Я пишу Итак, есть две таблицы : CREATE TABLE REF_GOODS ( ID INTEGER NOT NULL, CODE VARCHAR(32), NAME VARCHAR(128) NOT NULL, ID_MANUFACTURER INTEGER NOT NULL, ID_ORGAN INTEGER ); CREATE DOMAIN NAME AS VARCHAR(128) CHARACTER SET WIN1251 COLLATE WIN1251; CREATE TABLE REF_CUSTOMERS ( ID INTEGER NOT NULL, NAME NAME NOT NULL, GENDER CHAR(1), PHONES VARCHAR(128), ADDRESS VARCHAR(128), BIRTHDATE DATE, DISCOUNT INTEGER ); В FB1.0.3 создал вьюху на основе такого запроса SELECT G.ID, G.CODE, G.NAME, G.ID_MANUFACTURER, M.NAME M_NAME, G.ID_ORGAN, O.NAME O_NAME FROM REF_GOODS G, REF_CUSTOMERS M LEFT JOIN REF_CUSTOMERS O ON G.ID_ORGAN=O.ID WHERE G.ID_MANUFACTURER=M.ID Вьюха создалась, но не работал запрос типа select ID, CODE, NAME, ID_PARENT, ID_GROUP from VIEW_REF_GOODS RG, REF_GROUP_ITEMS RGI where RG.ID = RGI.id_object and RG.id=:ID VIEW_REF_GOODS - это вьюха, REF_GROUP_ITEMS - обычная таблица Получаю ошибку "The cursor identified in the update or delete statement is not positioned on a row. no current record for fetch operation". Переделал запрос на select ID, CODE, NAME, ID_PARENT, ID_GROUP from VIEW_REF_GOODS RG JOIN ref_group_items RGI ON RG.ID = RGI.id_object И всё стало нормально. Затем поставил FB1.5 (RC4, а затем и RC6), так там даже такой запрос не проходит SELECT G.ID, G.CODE, G.NAME, G.ID_MANUFACTURER, M.NAME M_NAME, G.ID_ORGAN, O.NAME O_NAME FROM REF_GOODS G, REF_CUSTOMERS M LEFT JOIN REF_CUSTOMERS O ON G.ID_ORGAN=O.ID WHERE G.ID_MANUFACTURER=M.ID И вот я не пойму, где грабли? 2. Ответ > FROM REF_GOODS G, REF_CUSTOMERS M > LEFT JOIN REF_CUSTOMERS O ON G.ID_ORGAN=O.ID Готовся, будут бить :-) Нельзя смешивать явные и неявные join'ы --------------- С уважением Андрей Прохоров 3. Опять я Не знал про такое ограничение. Я на оракле работаю, а там вообще всё не так (до 9i). А щас есть маленький проект, который под оракл не стоит писать, решил на FB. А тут столько подводных камней :-) Ну если нельзя, так нельзя. А, кстати, где про это явно написано, что нельзя? 4. А вот тут мы долго смеялись. Очень весело :-) > Ну если нельзя, так нельзя. > А, кстати, где про это явно написано, что нельзя? А это недокументоровано. Просто у оптимайзера крышу срывает, и все ;-) -- Дмитрий Еманов Вот так то... Типа, крышу... А задокументировать ... Ну и ладно :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2003, 11:27 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32292373&tid=1579823]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
157ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 445ms |

| 0 / 0 |
