![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() http://www.delphisources.ru/forum/at...d=137169090 9
Вот такую ошибку выдаёт. А вот код: 1 процедура из формы, вызывающей форму, где выбираются параметры удаляемой записи: Код:
procedure TForm13.RadioButton5Click(Sender: TObject); var i,n:integer; begin if DataModule1.DataSource3.State=dsBrowse then DataModule1.ADOTable3.Edit; Form23.ShowModal; begin DataModule1.ADOTable1.DisableControls; if DataModule1.DataSource3.State=dsBrowse then DataModule1.ADOTable3.Edit; if DataModule1.DataSource1.State=dsBrowse then DataModule1.ADOTable1.Edit; DataModule1.ADOTable1.Last; DataModule1.ADOTable1.First; n:=DataModule1.ADOTable1.RecordCount; {Locate(DataModule1.ADOTable3.Fields[0].AsString,Form1.DBComboBox1.Text,[]);} For i:=1 to n do begin if (DataModule1.ADOTable1.Fields[1].AsString=Form23.DBComboBox1.Text) and (not Eof)then DataModule1.ADOTable1.Delete; end; DataModule1.ADOTable1.EnableControls; end; DataModule1.ADOTable3.Delete; DataModule1.ADOTable3.Post; end; 2 процедуры выбора этих параметров procedure TForm14.Button1Click(Sender: TObject); begin DataModule1.ADOTable1.Post; if DataModule1.DataSource1.State=dsBrowse then DataModule1.ADOTable1.Edit; end; procedure TForm14.Button2Click(Sender: TObject); begin DataModule1.ADOTable1.Cancel; if DataModule1.DataSource1.State=dsBrowse then DataModule1.ADOTable1.Edit; end; Последний раз редактировалось M.A.D.M.A.N., 20.06.2013 в 07:32. |
#2
|
||||
|
||||
![]() Вообще, в нормальной базе данных есть такое понятие как референс, у которого можно настраивать каскадное удаление.
Что за база? MySQL/Access? — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
![]() Это Microsoft SQL Server.
|
#4
|
||||
|
||||
![]() Там это тоже есть. Только обычно настраивается подобное при создании таблиц, когда нет данных, но можно и на таблицах с данными, только тогда возможно придется почистить некоторые таблицы от записей.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
![]() Правильно я понимаю, что это задаётся во внешнем ключе таблицы через правило обновления и удаления??
|
#6
|
|||
|
|||
![]() Я попыталась настроить каскадное обновление и удаление для БД. Для всех таблиц получилось, а для той, для которой были написаны процедуры-нет.
Выводит ошибку о появлении множественных циклов, что нужно поставить либо On Delete No Active или On Update No Active Это, кстати, главная таблица. В ней должно содержаться 3 внешних ключа. Последний раз редактировалось Sentyabrina, 20.06.2013 в 14:26. |