|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.05.2017, 21:46 | #11 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Ещё раз:
вариант, когда нет каскадного удаления Код:
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 25.05.2017 в 21:49. |
25.05.2017, 22:14 | #12 |
Пользователь
Регистрация: 30.09.2007
Сообщений: 70
|
Скрипт таблиц
CREATE TABLE [dbo].[students]( [id_s] [int] IDENTITY(1,1) NOT NULL, [id_k] [int] NOT NULL, [id_g] [int] NOT NULL, [id_r] [int] NOT NULL, [nomer_zachotki_s] [int] NOT NULL, [name1_s] [varchar](50) NOT NULL, [name2_s] [varchar](50) NOT NULL, [name3_s] [varchar](50) NOT NULL, [phone_s] [varchar](50) NULL, [date_start_s] [date] NOT NULL, [date_finish_s] [date] NOT NULL, CONSTRAINT [PK_students] PRIMARY KEY CLUSTERED ( [id_s] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE TABLE [dbo].[payment]( [id_p] [int] NOT NULL, [id_s] [int] NOT NULL, [price_p] [money] NOT NULL, [date_p] [date] NOT NULL, [sum_p] [money] NOT NULL, CONSTRAINT [PK_payment] PRIMARY KEY CLUSTERED ( [id_p] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE TABLE [dbo].[incident]( [id_i] [int] IDENTITY(1,1) NOT NULL, [id_s] [int] NOT NULL, [date_i] [datetime] NOT NULL, [description_i] [varchar](255) NOT NULL, CONSTRAINT [PK_incident] PRIMARY KEY CLUSTERED ( [id_i] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[incident] WITH CHECK ADD CONSTRAINT [FK_incident_students] FOREIGN KEY([id_s]) REFERENCES [dbo].[students] ([id_s]) ON UPDATE CASCADE ON DELETE CASCADE GO ALTER TABLE [dbo].[incident] CHECK CONSTRAINT [FK_incident_students] GO ALTER TABLE [dbo].[payment] WITH CHECK ADD CONSTRAINT [FK_payment_students1] FOREIGN KEY([id_s]) REFERENCES [dbo].[students] ([id_s]) ON UPDATE CASCADE ON DELETE CASCADE GO Последний раз редактировалось Alexsandr; 25.05.2017 в 23:25. |
26.05.2017, 21:17 | #13 |
Пользователь
Регистрация: 30.09.2007
Сообщений: 70
|
Всё всем спасибо! Тема закрыта! Причина всему невнимательность! Забыл
прописать ConnectForm.ADOConnection1.CommitTr ans; procedure TMainForm.Button9Click(Sender: TObject); var iDel : integer; begin begin if MessageDlg('Вы уверены, что хотите удалить студента и связанные с ним данные?', mtConfirmation, [mbYes,mbNo],0)=mrYes then try ConnectForm.ADOConnection1.BeginTra ns; DM1.StudentsDataSet.Edit; DM1.SPStudentDelete.Parameters.Para mByName('@id_s').Value := DM1.StudentsDataSetid_s.Value; DM1.SPStudentDelete.ExecProc; ConnectForm.ADOConnection1.CommitTr ans; except ShowMessage('Удаление не получилось'); // Откатываем транзакцию ConnectForm.ADOConnection1.Rollback Trans; exit; end; DM1.StudentsDataSet.Active:=false; DM1.StudentsDataSet.Active:=true; end; |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить данные из связаных таблиц при помоши IN ? | ADSoft | SQL, базы данных | 4 | 31.10.2013 09:13 |
Хранимая процедура | mavlon_m | SQL, базы данных | 7 | 07.09.2013 15:15 |
Хранимая процедура для двух таблиц | iloer | БД в Delphi | 0 | 26.05.2010 11:15 |
запрос вставки связаных таблиц | Domanoff | БД в Delphi | 0 | 20.04.2010 17:55 |
Удаление в связаных таблицах ADO | Alexsandr | БД в Delphi | 7 | 18.02.2008 23:15 |