powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Select error
14 сообщений из 14, страница 1 из 1
Select error
    #32537513
Зернов Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выполнении ф-ции Retrieve() возникает ошибка datawindow: "Select error: Only cancel command is allowed when the rows are pending." Что сие означает?
...
Рейтинг: 0 / 0
Select error
    #32538018
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У некоторых баз есть такое правило. Курсор следует либо дофетчить до конца, либо отменить операцию.
Т.е. если соединение находится в состоянии когда курсор открыт и еще не дофетчен до конца никакие другие команды не срабатывают.
У Вас что за база, что за драйвер?
Есть что-нибудь в событиии retrieverow?
...
Рейтинг: 0 / 0
Select error
    #32539203
Зернов Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей! Спасибо большое.
В событии 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
...
Рейтинг: 0 / 0
Select error
    #32539335
Levon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте менять статус всех изменённых записей на NewModified!
Что-то типа
Код: plaintext
dw_2.SetItemStatus(ll_row, 0 ,Primary!,NewModified!)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Select error
    #36444092
tiger_sc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, напоролся на сабжевую ошибку, но не на ретриве и вообще не при прямом использовании 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, который используется РВ при работе с динамическими курсорами (так мануал говорит). Вот что можно сделать с такой ошибкой и причинами её возникновения?
...
Рейтинг: 0 / 0
Select error
    #36444222
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за бред
Пример в мануале просто для ASA
Раз вы работаете с Oracle значит и ошибка оттуда
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Select error
    #36444807
tiger_sc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, наверное я неверно перевёл мануал и у меня сложилось неверное представление, что для обработки динамических курсоров используется встроенный в БД модуль Anywhere, но ошибка точно не оракловая, а билдеровская.
...
Рейтинг: 0 / 0
Select error
    #36444816
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это да
Проверьте ничего у вас асинхронно не отрабатывает?
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Select error
    #36444908
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiger_sc пишет:

> Ну, наверное я неверно перевёл мануал и у меня сложилось неверное
> представление, что для обработки динамических курсоров используется
> встроенный в БД модуль Anywhere

Бред.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Select error
    #36445150
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример отлично работающий
Код: 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.
string ls_add_string, ls_select_string
int li_pos
// Set up select statement using passed parameters
ls_select_string = "SELECT DISTINCT " + col_parm + " FROM " + tab_parm
PREPARE sqlsa FROM :ls_select_string;

DECLARE dyn_cursor DYNAMIC CURSOR FOR sqlsa;

OPEN DYNAMIC dyn_cursor;  
if sqlca.sqlcode <  0  then
	MessageBox("DataBase Error!", sqlca.sqlerrtext)
	return sqlca.sqlcode
end if 

this.SetRedraw(false)
this.Reset( )

Do While sqlca.sqlcode =  0 
	Fetch dyn_cursor into :ls_add_string;
	if sqlca.sqlcode =  0  then
		this.AddItem(ls_add_string)
	elseif sqlca.sqlcode <  0  then
		MessageBox("Ошибка БД", sqlca.sqlerrtext)
		return sqlca.sqlcode
	else
		exit
	end if
Loop

this.SetRedraw(true)
Close dyn_cursor;

а то вот эта строка непонятна
Код: plaintext
OPEN DYNAMIC tmp_curs USING :ll_factor_id, :ls_tag, :ll_factor_value ;
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Select error
    #36446120
tiger_sc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001,

Да строка то простая, с передачей параметров в запрос, допускается дакой синтаксис в РВ. Однако, пробовал уже переделать и на статический запрос без параметров, переформировывая запрос с учётом параметров перед объявлением курсора - та же фигня. Причём, в целом всё работает, но валится в одном случае из тысяч. Почему - не знаю.
...
Рейтинг: 0 / 0
Select error
    #36446216
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неужели так трудно сделать это на датавинде или на датасторике?!
без всяких извращений с курсорами
...
Рейтинг: 0 / 0
Select error
    #36446615
tiger_sc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так не я делал, но меня заставляют разгребать. Самое прикольное, что результат курсора всё равно выводится в ячейки датавиндова :о) Походу всё придётся переделывать, чем разбираться непонятно с чем.
...
Рейтинг: 0 / 0
Select error
    #36446846
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так переделайте на нормальный datawindow и все ваши извра.., т.е. проблемы будут решены
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Select error
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]