Вопрос может глупый, но все же..
| Код | procedure Tgroupz.Button6Click(Sender: TObject); begin ADOQ_dell.Close; ADOQ_dell.SQL.Clear; ADOQ_dell.SQL.Text:='UPDATE Dengi INNER JOIN groups ON Dengi.id_group=groups.id_group SET Dengi.id_group=null WHERE Dengi.Kod_klienta="'+query[1]+'"'; ADOQ_dell.ExecSQL;
sql:= 'DELETE group FROM groups WHERE groups.group="'+query[1]+'"'; ADOQ_new.Close; ADOQ_new.SQL.Clear; ADOQ_new.SQL.Text:=sql; ADOQ_new.ExecSQL; end;
|
Для удаления группы решил сначала убрать принадлежность входящих в нее элементов, т.е. всех Kod_klienta, путем присвоения полю id_group(связь один ко многим между таблицами groups и Dengi), по которому собственно и идет определение принадлежности к выбираемой группе из комбобокса. А только потом удаление самой группы, дабы не удалилась не только группа, но и все принадлежащие ей записи. Вопрос в том, почему эта конструкция не работает? Причем обновления поля id_group в таблице Dengi не происходит, а группы и все их содержимое удаляет. P.S.: Насколько я знаю, можно это обойти отключением функции "каскадное обновление связанных полей", но интересует именно вариант с обновлением id_group. |