|
Select error
|
|||
---|---|---|---|
#18+
При выполнении ф-ции Retrieve() возникает ошибка datawindow: "Select error: Only cancel command is allowed when the rows are pending." Что сие означает? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2004, 18:59 |
|
Select error
|
|||
---|---|---|---|
#18+
У некоторых баз есть такое правило. Курсор следует либо дофетчить до конца, либо отменить операцию. Т.е. если соединение находится в состоянии когда курсор открыт и еще не дофетчен до конца никакие другие команды не срабатывают. У Вас что за база, что за драйвер? Есть что-нибудь в событиии retrieverow? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2004, 09:55 |
|
Select error
|
|||
---|---|---|---|
#18+
Андрей! Спасибо большое. В событии retrieverow в предке происходил вызов функции окраски строк. После замены сценария предка на пустышку сообщение об ошибке больше не появляется. Ещё вопрос, если можно. Иногда (не могу пока установить точно в каком случае) при сохранении после редактирования строки в этом же datawindow возникает ошибка: "Row changed between retrieve and update. No changes made to database. UPDATE table SET column_1 = ?, column_2 = ?, column_3 = ? WHERE column_1 = ? AND column_2 = ? и т. д. ..." Пытаюсь средствами Power Builder'а (Database -> Data manipulation) удалить эту строку, выдаётся сообщение: "Row changed between retrieve and update. No changes made to database." DELETE FROM table WHERE column_1 = ? AND column_2 = ? и т.д. ...". Почему строка не удаляется? У меня: Sybase SQL Anywhere Database Engine Version 5.5.04 Build #1867 + PowerBuilder 6.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2004, 16:07 |
|
Select error
|
|||
---|---|---|---|
#18+
Попробуйте менять статус всех изменённых записей на NewModified! Что-то типа Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2004, 16:53 |
|
Select error
|
|||
---|---|---|---|
#18+
Вот, напоролся на сабжевую ошибку, но не на ретриве и вообще не при прямом использовании Sybase SQL Anywhere Database. Приложение работает с ораклом, использует динамический курсор: DECLARE tmp_curs DYNAMIC CURSOR FOR isqlsa_my; PREPARE isqlsa_my FROM :is_select USING glb.cur_tr; OPEN DYNAMIC tmp_curs USING :ll_factor_id, :ls_tag, :ll_factor_value ; При этом запрос is_select всегда один и тот же (селект из функции оракла), различаются только передаваемые параметры. И весь блок работает, в общем, без ошибок, сваливаяс только при определённом наборе параметров. При этом сам запрос из оракла с данными параметрами проходит нормально, а сообщение, похоже, вызывается Adaptive Server® Anywhere, который используется РВ при работе с динамическими курсорами (так мануал говорит). Вот что можно сделать с такой ошибкой и причинами её возникновения? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2010, 12:08 |
|
Select error
|
|||
---|---|---|---|
#18+
Что за бред Пример в мануале просто для ASA Раз вы работаете с Oracle значит и ошибка оттуда ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2010, 12:45 |
|
Select error
|
|||
---|---|---|---|
#18+
Ну, наверное я неверно перевёл мануал и у меня сложилось неверное представление, что для обработки динамических курсоров используется встроенный в БД модуль Anywhere, но ошибка точно не оракловая, а билдеровская. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2010, 15:33 |
|
Select error
|
|||
---|---|---|---|
#18+
Это да Проверьте ничего у вас асинхронно не отрабатывает? ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2010, 15:36 |
|
Select error
|
|||
---|---|---|---|
#18+
tiger_sc пишет: > Ну, наверное я неверно перевёл мануал и у меня сложилось неверное > представление, что для обработки динамических курсоров используется > встроенный в БД модуль Anywhere Бред. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2010, 16:03 |
|
Select error
|
|||
---|---|---|---|
#18+
Вот пример отлично работающий Код: plaintext 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.
а то вот эта строка непонятна Код: plaintext
Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2010, 17:07 |
|
Select error
|
|||
---|---|---|---|
#18+
spas2001, Да строка то простая, с передачей параметров в запрос, допускается дакой синтаксис в РВ. Однако, пробовал уже переделать и на статический запрос без параметров, переформировывая запрос с учётом параметров перед объявлением курсора - та же фигня. Причём, в целом всё работает, но валится в одном случае из тысяч. Почему - не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2010, 07:58 |
|
Select error
|
|||
---|---|---|---|
#18+
неужели так трудно сделать это на датавинде или на датасторике?! без всяких извращений с курсорами ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2010, 09:37 |
|
Select error
|
|||
---|---|---|---|
#18+
Так не я делал, но меня заставляют разгребать. Самое прикольное, что результат курсора всё равно выводится в ячейки датавиндова :о) Походу всё придётся переделывать, чем разбираться непонятно с чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2010, 12:02 |
|
|
start [/forum/topic.php?fid=15&fpage=28&tid=1336046]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 345ms |
total: | 465ms |
0 / 0 |