![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Связь в таблицах! [D7]
Golik © (2006-03-23 19:10:00)День добрый! такая проблема - как зделать так чтоб по кнопке удаления текущей записи удалялись все данные из подчиненых таблиц тоже!
и еще допустим мне надо удалить какую то запись содержащее например число 15, но если такое же значение имеется и в других записях таблицы то надо чтоб и записи содержащие такое значение удалялись тоже !
Германн (2006-03-26 05:19:00) [1]
> Anatoly Podgoretsky © (25.03.06 09:38) [14]
>
> Германн © (25.03.06 02:38) [13]
> А что не нравится?
А что Вы имели в виду:
"А что НЕ НРАВИТСЯ?!!!"
или
"А чтоне навится?"
А вообще мне не нравятся базы с ФИО и адресами.
Golik (2006-03-25 20:45:00) [2]а как добавить ?
по кнопке добавить пишуdatamodule2.FIOTable.Append;
datamodule2.ADRTable.Append;
DataModule2.FIOTable.FieldByName('fldФамилия').AsString :=edit1.Text ;
DataModule2.ADRTable.FieldByName('fldГород ').AsString :=edit2.Text ;
datamodule2.FIOTable.Post;
datamodule2.ADRTable.Post ;
datamodule2.ADRTable.Close;
datamodule2.FIOTable.Close;
но данные добавляются только в таблицу ФИО, а таблица Адрес остается пустая .
Что делать ? и почему так происходит ?
Anatoly Podgoretsky (2006-03-25 09:38:00) [3]Германн © (25.03.06 02:38) [13]
А что не нравится?
Германн (2006-03-25 02:38:00) [4]
> Golik (24.03.06 21:50) [10]
>
> Германн
> База Access
> 1-я талица содержит ФИО.
> 2-я содержит адреса проживания.
Товарищ майор, я это не читал, не читаю и не буду читать! :-)
sniknik (2006-03-25 00:02:00) [5]> База Access
тоже можно, как и mssql, создать таблицу с внешним ключем с "ON DELETE CASCADE" и будет удалять все связанные подчиненные при удалении из главной.
см. справку аксесса раздел "Предложение CONSTRAINT" там и примеры есть.
> а возможно ли отображать данные в одном DBGride из разных таблиц ?
да. составь запрос с обьеденением... справка таже раздел "Операция INNER JOIN" (/LEFT, RIGHT). запрос выполняй в TADODataSet (приучайся к правильный компонентам)
VICTOR_ (2006-03-24 23:32:00) [6]
> а возможно ли отображать данные в одном DBGride из разных
> таблиц ?
> если да то как это реализовать ???
>
Можно, используй
TADOQuery
Golik (2006-03-24 21:50:00) [7]Германн
База Access
1-я талица содержит ФИО.
2-я содержит адреса проживания.
а возможно ли отображать данные в одном DBGride из разных таблиц ?
если да то как это реализовать ???
vovnuke (2006-03-24 09:31:00) [8]рекурсивная процедура которая проверяет тип каждого поля:
если он TDataSetField, то переходим к его подчиненному набору,
если нет то удаляем запись.
pavel_guzhanov (2006-03-24 09:08:00) [9]Если MSSQL, то поставь в свойствах связи галочку "cascade delete related records"
pavel_guzhanov (2006-03-24 09:04:00) [10]а что за база?
Германн (2006-03-24 02:34:00) [11]
> Golik (23.03.06 19:10)
>
> День добрый! такая проблема - как зделать так чтоб по кнопке
> удаления текущей записи удалялись все данные из подчиненых
> таблиц тоже!
А собс-но эти таблицы откуда взялись? Они были даны тебе свыше? Или ты их сам создал?
Если свыше, то приведи структуру сей базы. Тогда смогут помочь более конкретно. Если сам создал, тогда ...
Anatoly Podgoretsky (2006-03-23 22:29:00) [12]Удвлять надо в подчиненой таблице.
Golik (2006-03-23 22:22:00) [13]при удалении выдает ошибку мол что есть связи!!!!!! :-(
Anatoly Podgoretsky (2006-03-23 19:31:00) [14]DELETE
Golik (2006-03-23 19:23:00) [15]а как зделать так чтоб по кнопке удаления текущей записи удалялись все данные из подчиненых таблиц тоже??
Anatoly Podgoretsky (2006-03-23 19:22:00) [16]where число=15