Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2012, 09:47   #1
Медведев
Новичок
Джуниор
 
Регистрация: 01.04.2010
Сообщений: 1
По умолчанию Заполнение связанных таблиц

Есть главная таблица id_family с одним единственным полем id_fam (serial) и подчиненная таблица persons с первичным ключом id_person (serial) с внешним ключом id_fam. и обязательным полем family. Нужно, что б при нажатии кнопки в таблице id_family поле id_fam = id_fam +1, а в таблице persons поле id_fam = новому полю id_family.id_fam id_person = id_person+1.

Если поле family разрешить быть null можно сделать так:

Цитата:
procedure TFrom_main.BitBtn_fam_addClick(Send er: TObject);
begin
DataModule1.UniQuery_persons.Active :=false;
DataModule1.UniQuery_persons.ReadOn ly:= False;
DataModule1.UniQuery_id_family.Acti ve:= true;

with DataModule1.UniQuery_temp do
begin
Close;
SQL.Clear;
SQL.Add('SELECT max(culture.id_family.id_fam)');
SQL.Add ('FROM culture.id_family;');
Open;
ID := Fields.Fields[0].AsInteger + 1;
Close;
SQL.Clear;
SQL.Add(format ('INSERT INTO culture.id_family' +
'(id_fam ) VALUES (%s) ;',[IntToStr(ID)]));
ExecSQL;
end;

with DataModule1.UniQuery_temp do
begin
Close;
SQL.Clear;
SQL.Add(format('INSERT INTO culture.persons'+
'(id_fam ) VALUES (%s) ;',[IntToStr(ID)]));
ExecSQL;
end;

DataModule1.UniQuery_persons.SQL.Cl ear;
DataModule1.UniQuery_persons.SQL.Ad d('SELECT *');
DataModule1.UniQuery_persons.SQL.Ad d('FROM culture.persons');
DataModule1.UniQuery_persons.SQL.Ad d('where id_fam =');
DataModule1.UniQuery_persons.SQL.Ad d('(SELECT max(id_fam)');
DataModule1.UniQuery_persons.SQL.Ad d('FROM culture.persons)');
DataModule1.UniQuery_persons.Active := true;

Form_family.Caption:= 'Новая семья';
Form_family.ShowModal;
end;
Но мне то нужно обязательное поле???
Медведев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос с 2-ух связанных таблиц lot555 SQL, базы данных 4 09.07.2012 14:43
Вывод данных связанных таблиц alt5000 PHP 3 28.11.2011 21:12
Редактирование связанных таблиц Elizavetta Помощь студентам 1 10.02.2011 14:02
Редактирование связанных таблиц formeram БД в Delphi 2 11.09.2009 14:11
Диспетчер связанных таблиц АлёнаP Microsoft Office Access 2 31.03.2009 17:59