Код:
procedure TForm1.Button1Click(Sender: TObject);
var n: integer;
begin
//Добавляем в дочернюю таблицу номер телефона
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text := Format('INSERT INTO phones(Phone) VALUES(%s)',[QuotedStr(Edit3.Text)]);
ADOQuery2.ExecSQL;
//Получаем ID добавленной записи.
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text := Format('SELECT Id_phone FROM phones WHERE Phone = (%s)',[QuotedStr(Edit3.Text)]);
ADOQuery2.Active := true;
n := ADOQuery2.Fields[0].AsInteger;
Label4.Caption:=IntToStr(n);
ADOQuery2.Active := false;
//Добавляем данные в главную таблицу
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := Format('INSERT INTO clients(name,soname,phone_id) VALUES(%s,%s,%s)',[QuotedStr(Edit1.Text),QuotedStr(Edit2.Text),QuotedStr(IntToStr(n))]);
ADOQuery1.ExecSQL;
//Обновляем обе таблицы
ADOTable1.Active:=false;
ADOTable1.Active:=true;
ADOTable2.Active:=false;
ADOTable2.Active:=true;
end;
Работает, но после удаления всех записей из обеих таблиц, начинает ругаться. перезапускаешь программу, снова добавляет записи...
