powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Не работает удаление данных в таблице без Primary Key
9 сообщений из 9, страница 1 из 1
Не работает удаление данных в таблице без Primary Key
    #39751732
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, у меня в БД есть 5 таблиц. Из них 3 основные, а 2 вспомогательные.
Есть кнопка "Удалить", при нажатии на которую должна удаляться строка из таблицы (данные я вывожу в DataWindow control). Так вот строки удаляются только из основных таблиц (поставщик, город и товар), а из вспомогательных таблиц (связь товар город, связь товар поставщик) удаление не происходит.

Код выглядит следующим образом (за то, что не выделил код извиняюсь, выделения PowerScript здесь не нашел):
Integer d;
Integer w;
w= messagebox("Удаление","Вы действительно хотите удалить запись ?",question!,yesno!);
if w=1 then
d=osn.dw_1.getRow();
osn.dw_1.deleteRow(d);
osn.dw_1.Update();
osn.dw_1.Retrieve();
end if

Помогите, пожалуйста, сделать удаление для вспомогательных таблиц!
Не обязательно править этот код, можно прописать его для другой кнопки (т.е. будет одна кнопка удаления для основных таблиц, и одна для связующих, в моем случае это не страшно).
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39751733
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При попытке удаления выдает такое окно
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39751741
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,

Вы бы почитали хотябв базовые принципы работы Powerbuilder .

У Вас в datawindow не настроены условия обновления данных.

Если Вы используете базовый компонент datawindow из коробки в одном dw можно изменять данные только в одной таблице. Если нужно изменение в нескольких таблицах из одного dw то нужно либо использовать доп сервисы pfc
либо прописывать логику обновления самостоятельно
либо пользоваться тригирами бд
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39751757
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pand,
Вы могли бы объяснить самый простой путь решения данной проблемы?
Дело в том, что я не планирую работать с PB в будущем, это лаба и не более того. Объяснений как ее выполнять нет, PB старенькой версии, все как обычно.
Помогите, пожалуйста, с решением этой задачи
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39752805
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22.12.2018 22:54, MrKoder пишет:

> Помогите, пожалуйста, с решением этой задачи

Потратить время на то, чтобы ты смог незаслуженно получить диплом?

Задача реально примитивна.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39752935
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас пока вообще ничего не удаляется
Настройте свойства обновления DW
Для остальных таблиц тоже сделайте dw невизуальные
Считываете ключ с основной таблицы ключ
По ключу делаете ретрайв этих dw и удаляете строки
Потом делаете апдейт
Потом удаляете запись из основных таблиц
У вас же там foreign keys кругом, он вам не даст удалить основную запись пока есть зависимые (это не всегда так, бывает наоборот - с удалением основной записи удаляются зависимые, но не в вашем случае)
Если переведете то что я написал в код - лаба готова
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39753219
Механик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderpand,
Вы могли бы объяснить самый простой путь решения данной проблемы?
Дело в том, что я не планирую работать с PB в будущем, это лаба и не более того. Объяснений как ее выполнять нет, PB старенькой версии, все как обычно.
Помогите, пожалуйста, с решением этой задачиВ DW имеется свойство Update. Если указать таблицу, то будет изменяться только в таблице. Если указать процедурный метод изменений Update/Delete/Insert, то при событии Update/Delete/Insert станет вызываться указанная процедура.
Вам либо на таблицу триггер на таблицу вешать, либо процедуру вызывать, либо код в соответствующих событиях прописывать.
Напрямую, одной настройкой DW удаление из нескольких таблиц не совершить.
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39753294
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МеханикMrKoderpand,
Вы могли бы объяснить самый простой путь решения данной проблемы?
Дело в том, что я не планирую работать с PB в будущем, это лаба и не более того. Объяснений как ее выполнять нет, PB старенькой версии, все как обычно.
Помогите, пожалуйста, с решением этой задачиВ DW имеется свойство Update. Если указать таблицу, то будет изменяться только в таблице. Если указать процедурный метод изменений Update/Delete/Insert, то при событии Update/Delete/Insert станет вызываться указанная процедура.
Вам либо на таблицу триггер на таблицу вешать, либо процедуру вызывать, либо код в соответствующих событиях прописывать.
Напрямую, одной настройкой DW удаление из нескольких таблиц не совершить.

Да мне то оно собственно и не надо. Про хранимые процедуры я в курсе. но стращать ими топикстартера это уже жестоко
...
Рейтинг: 0 / 0
Не работает удаление данных в таблице без Primary Key
    #39753295
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Механик,

сорри не заметил что мой пост был обернут в цитату
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Не работает удаление данных в таблице без Primary Key
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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