Доброго времени суток ув. программисты.
Вопрос состоит в следующем:
Создаю дата сет
Код:
QWER.SQL.Text:='select PERS.* from PERS,SLUCH'+
' WHERE SLUCH.ID_PAC=PERS.ID_PAC and SLUCH.DATA_2>='+quotedstr(DateToStr(d1.date))+
' and SLUCH.DATA_2<='+quotedstr(DateToStr(d2.date));
//InputBox('','',QWER.SQL.Text);
QWER.Active:=True;
dat_sets.FieldDefs:=QWER.FieldDefs; //Родитель
QWER2.SQL.Text:='select first 1 SLUCH.VIDPOM,SLUCH.DS1,SLUCH.IDDOKT from SLUCH,USL'+
' WHERE SLUCH.SLUCH_UUID=USL.SLUCH_UUID and SLUCH.DATA_2>='+quotedstr(DateToStr(d1.date))+
' and SLUCH.DATA_2<='+quotedstr(DateToStr(d2.date))+' and SLUCH.ID_PAC='+quotedstr(id_p);
//InputBox('','',QWER2.SQL.Text);
QWER2.Active:=True;
dat_sets.FieldDefs[dat_sets.FieldDefs.Count-1].ChildDefs:=QWER2.FieldDefs;
//Дочка
dat_sets.CreateDataSet;
dat_sets.DisableControls;
Тут все окей.
Заполняю датасетик
Код:
while not QWER.Eof do
begin
try
dat_sets.Insert;
dat_sets.CopyFields(QWER.FieldDefs.DataSet);
dat_sets.Post;//Родитель
with TDataSetField(dat_sets.Fields[dat_sets.FieldDefs.Count-1]).NestedDataSet do
begin
Insert;
Fields[0].asstring='Бла бла бла';
Fields[1].asstring='Блу блу блу';
Post;
end;
QWER.Next;
except
dat_sets.SaveToFile(ExtractFilePath(Application.ExeName)+'AS.xml', dfXMLUTF8);
dat_sets.FieldDefs.Clear;
dat_sets.Close;
Exit;
end;
end;
Ну и к сути. Метод заполнения
Код:
with TDataSetField(dat_sets.Fields[dat_sets.FieldDefs.Count-1]).NestedDataSet do
begin
Insert;
Fields[0].asstring='Бла бла бла';
Fields[1].asstring='Блу блу блу';
Post;
end;
не подходит. Мне нужно сразу запихнуть все филды, а не таскать их по 1.
С компонентом только начал разбираться,строго не судим.
Информации в интернете по заполнению без вложений масса,но с вложениями толковых примеров нет.
Пробовал заполнять по разному, колдовал и так и сяк,но весь датасет разом перетащить не могу. Заранее прошу не таскать меня по F1 и слать в дебри изучения основ Delphi и прочего. Просто черкните пример. Я думаю сунуть его весь не должно быть огромным кодом. Есть нюанс какой то,а какой не знаю..Заранее спасибо.