|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.01.2012, 01:56 | #1 |
Новичок
Джуниор
Регистрация: 21.01.2012
Сообщений: 1
|
Не заполняется дочерняя таблица
Ребят, помогите. Не заполняется дочерняя таблица Delphi+Oracle
Нужно для указанного из комбобокса заказчика добавить заказ Выдает ошибку - integrity constraint violated parent key not found ЕСть две таблицы: create table zakazchik (id number(3) primary key not null, zakazchik varchar2(30) not null); create table zakazi (id number(3) primary key, naimen_zakaza varchar2(25), num_zakaz varchar(30) , zakazchik_id number(3), constraint c_id foreign key(zakazchik_id) references zakazchik(id)); Код в Делфи: procedure Taddzakazi.ComboBox1Change(Sender: TObject); label hhh; var i:integer; begin i:=1; if ComboBox1.Items.GetText<>'' then begin repeat if ByteArray[i].s=ComboBox1.Text then GoTo hhh else inc(i); until false; hhh: In_m:=0 ; with Mainform.ADOQuery1 do begin Mainform.ADOQuery1.Close; Mainform.ADOQuery1.SQL.Clear; Mainform.ADOQuery1.SQL.Add('select id from zakazi order by id'); Mainform.ADOQuery1.Open; end; mainform.ADOQuery1.Last; In_m:=mainform.ADOQuery1.FieldByNam e('id').AsInteger+1; with Mainform.ADOQuery1 do begin Mainform.ADOQuery1.Close; Mainform.ADOQuery1.SQL.Clear; Mainform.ADOQuery1.SQL.Add('select id, zakazchik_id, naimen_zakaza, num_zakaz from zakazi where zakazchik_id='+IntToStr(ByteArray[i].id)); Mainform.ADOQuery1.Open; end; while not Mainform.ADOQuery1.Eof do begin addzakazi.Edit1.Text:=mainform.ADOQ uery1.fieldbyname('num_zakaz').asSt ring; addzakazi.Edit2.Text:=mainform.ADOQ uery1.fieldbyname('naimen_zakaza'). asString; tttttt:=mainform.ADOQuery1.fieldbyn ame('zakazchik_id').AsInteger; end; if mainform.ADOQuery1.fieldbyname('zak azchik_id').AsString='' then begin tttttt:=ByteArray[i].id; with Mainform.ADOQuery1 do begin Mainform.ADOQuery1.Close; Mainform.ADOQuery1.SQL.Clear; Mainform.ADOQuery1.SQL.Add('select id, zakazchik_id, naimen_zakaza, num_zakaz from zakazi'); Mainform.ADOQuery1.Open; end; while not Mainform.ADOQuery1.Eof do begin inc(tttttt); end; end; end; end; procedure Taddzakazi.Button1Click(Sender: TObject); mainform.ADOQuery1.SQL.Clear; mainform.ADOQuery1.SQL.Text := 'insert into zakazi (ID, zakazchik_ID, num_zakaz, naimen_zakaza) Values (:ID, :zakazchik_ID, :num_zakaz, :naimen_zakaza)'; mainform.ADOQuery1.Parameters.Param ByName('id').Value := In_m; mainform.ADOQuery1.Parameters.Param ByName('zakazchik_id').Value := tttttt; mainform.ADOQuery1.Parameters.Param ByName('num_zakaz').Value :=addzakazi.Edit1.Text; mainform.ADOQuery1.Parameters.Param ByName('naimen_zakaza').Value := addzakazi.Edit2.Text; mainform.ADOQuery1.ExecSQL; end; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
бд заполняется через раз | boshki | Помощь студентам | 2 | 25.05.2011 15:13 |
MDI-форма дочерняя не меняется | VVkSoft | Общие вопросы Delphi | 2 | 06.03.2011 12:51 |
Дочерняя форма из дочерней | maryan.vetrov | C# (си шарп) | 1 | 22.02.2011 03:02 |
Delphi cxGrid дочерняя форма | YaNovichok | Помощь студентам | 0 | 11.10.2010 15:02 |
dataGridView1 не заполняется. | sergei64_89 | Общие вопросы .NET | 3 | 19.09.2008 11:13 |