powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как обновить одну строку, когда
8 сообщений из 8, страница 1 из 1
Как обновить одну строку, когда
    #33115061
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
значение первичного ключа в поле этой строки присваивается в триггере?
...
Рейтинг: 0 / 0
Как обновить одну строку, когда
    #33115171
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urvasзначение первичного ключа в поле этой строки присваивается в триггере?
Сделать хранимую процедуру, с параметром @ID out, в триггере сделать присваивание только если ключ ID IS NULL, в процедуре перед вставкой так же получать значение ключа в ID и вставлять его уже вместе с записью. В DataWindow выключить Update Properties и включить обновления записей через Update Stored Proc, назначить данную процедуру (и соотвествующие для UPDATE и DELETE), совместить поля с параметрами процедуры, не забыв для INSERT процедуры для ID поставить out.
...
Рейтинг: 0 / 0
Как обновить одну строку, когда
    #33115338
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а есть ещё функция dwcontrol.reselectRow(row)
...
Рейтинг: 0 / 0
Как обновить одну строку, когда
    #33115349
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно ещё указать в dwpainter->update properties->identity columns колонку с ПК. Она, колонка, кое-как считается (зависит от dbms), но при условии, что в соответствующем поле datawindow будет значение NULL. если что-то другое (например, 0), то почему-то не считывается..
...
Рейтинг: 0 / 0
Как обновить одну строку, когда
    #33115429
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ReselectRow() не всё так просто:
Usage

ReselectRow is supported for SQLSelect DataWindows. Use ReselectRow to discard values the user changed and replace them with values from the database after an update fails (due to a concurrent access error, for example).

"можно ещё указать в dwpainter->update properties->identity columns" тоже не прошдло с моей базой (Oracle)

А вот инсерт через хранимую процедуру с параметром out все прокатило!
СПАСИБО!
...
Рейтинг: 0 / 0
Как обновить одну строку, когда
    #33116556
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
ASCRUS urvasзначение первичного ключа в поле этой строки присваивается в триггере?
Сделать хранимую процедуру, с параметром @ID out, в триггере сделать присваивание только если ключ ID IS NULL, в процедуре перед вставкой так же получать значение ключа в ID и вставлять его уже вместе с записью. В DataWindow выключить Update Properties и включить обновления записей через Update Stored Proc, назначить данную процедуру (и соотвествующие для UPDATE и DELETE), совместить поля с параметрами процедуры, не забыв для INSERT процедуры для ID поставить out.
to_Ascrus
Может я чего-то недопонял, но зачем создавать хранимые процедуры ? Разве недостаточно одного триггера ?
...
Рейтинг: 0 / 0
Как обновить одну строку, когда
    #33116561
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
to_Ascrus
Вопрос отменяется. Невнимательно прочитал исходный вопрос
...
Рейтинг: 0 / 0
Как обновить одну строку, когда
    #33116562
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как значение ключа из триггера попадет в строку DW?
А в хранимой процедуре через out.
У меня уже работает
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как обновить одну строку, когда
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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