Поиск:

Ответ в темуСоздание новой темы Создание опроса
> update связанной таблицы, присвоение null по связанному полю 
V
    Опции темы
dize
Дата 22.10.2009, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Вопрос может глупый, но все же..
Код

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.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Gudinya
Дата 22.10.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 2.2.2008

Репутация: 1
Всего: 8



В общем что то типа
Код

ADOQ_dell.SQL.Text:='UPDATE Dengi SET Dengi.id_group=null WHERE  Dengi.id_group in ( select groups.id_group  FROM groups WHERE groups.group="'+query[1]+'")';

PM MAIL ICQ   Вверх
dize
Дата 23.10.2009, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Gudinya, спасибо, заработало оО
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1020 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.