|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
В общем, у меня в БД есть 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 Помогите, пожалуйста, сделать удаление для вспомогательных таблиц! Не обязательно править этот код, можно прописать его для другой кнопки (т.е. будет одна кнопка удаления для основных таблиц, и одна для связующих, в моем случае это не страшно). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2018, 20:58 |
|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
При попытке удаления выдает такое окно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2018, 21:00 |
|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
MrKoder, Вы бы почитали хотябв базовые принципы работы Powerbuilder . У Вас в datawindow не настроены условия обновления данных. Если Вы используете базовый компонент datawindow из коробки в одном dw можно изменять данные только в одной таблице. Если нужно изменение в нескольких таблицах из одного dw то нужно либо использовать доп сервисы pfc либо прописывать логику обновления самостоятельно либо пользоваться тригирами бд ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2018, 21:38 |
|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
pand, Вы могли бы объяснить самый простой путь решения данной проблемы? Дело в том, что я не планирую работать с PB в будущем, это лаба и не более того. Объяснений как ее выполнять нет, PB старенькой версии, все как обычно. Помогите, пожалуйста, с решением этой задачи ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2018, 22:54 |
|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
22.12.2018 22:54, MrKoder пишет: > Помогите, пожалуйста, с решением этой задачи Потратить время на то, чтобы ты смог незаслуженно получить диплом? Задача реально примитивна. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2018, 14:27 |
|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
У вас пока вообще ничего не удаляется Настройте свойства обновления DW Для остальных таблиц тоже сделайте dw невизуальные Считываете ключ с основной таблицы ключ По ключу делаете ретрайв этих dw и удаляете строки Потом делаете апдейт Потом удаляете запись из основных таблиц У вас же там foreign keys кругом, он вам не даст удалить основную запись пока есть зависимые (это не всегда так, бывает наоборот - с удалением основной записи удаляются зависимые, но не в вашем случае) Если переведете то что я написал в код - лаба готова ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2018, 16:47 |
|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
MrKoderpand, Вы могли бы объяснить самый простой путь решения данной проблемы? Дело в том, что я не планирую работать с PB в будущем, это лаба и не более того. Объяснений как ее выполнять нет, PB старенькой версии, все как обычно. Помогите, пожалуйста, с решением этой задачиВ DW имеется свойство Update. Если указать таблицу, то будет изменяться только в таблице. Если указать процедурный метод изменений Update/Delete/Insert, то при событии Update/Delete/Insert станет вызываться указанная процедура. Вам либо на таблицу триггер на таблицу вешать, либо процедуру вызывать, либо код в соответствующих событиях прописывать. Напрямую, одной настройкой DW удаление из нескольких таблиц не совершить. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 08:18 |
|
Не работает удаление данных в таблице без Primary Key
|
|||
---|---|---|---|
#18+
МеханикMrKoderpand, Вы могли бы объяснить самый простой путь решения данной проблемы? Дело в том, что я не планирую работать с PB в будущем, это лаба и не более того. Объяснений как ее выполнять нет, PB старенькой версии, все как обычно. Помогите, пожалуйста, с решением этой задачиВ DW имеется свойство Update. Если указать таблицу, то будет изменяться только в таблице. Если указать процедурный метод изменений Update/Delete/Insert, то при событии Update/Delete/Insert станет вызываться указанная процедура. Вам либо на таблицу триггер на таблицу вешать, либо процедуру вызывать, либо код в соответствующих событиях прописывать. Напрямую, одной настройкой DW удаление из нескольких таблиц не совершить. Да мне то оно собственно и не надо. Про хранимые процедуры я в курсе. но стращать ими топикстартера это уже жестоко ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 10:49 |
|
|
start [/forum/topic.php?fid=15&fpage=4&tid=1335085]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 160ms |
0 / 0 |