Цитата:
Сообщение от Alegun
Непонятки, в базе повторы или в разбираемом XML файле?
Первое можно обойти при выводе, посредством SELECT DISTINCT, а второе предварительным заносом в StringList только уникальных записок с проверкой на дубликат, XML проще прошерстить и после разбора закинуть результат в DB
|
Дубликаты приходят в XML. И в базу они попасть не должны.
Данные вложены, т.е. Дерево XML имеет много веток.
При "прочёсывании" XML данные в БД попадают в связанные таблицы.
Циклически это выглядит так:
Код:
ADODataSet.Open;
if ADODataSet.IsEmpty then
AdoDataSet.InserRecord[nil, aID, ... ];
aID := ADODataSet['ID'];
for k:=0 to a.Childs.Count -1 do
begin
b:= a.Child[k];
ADODataSet.Param1 := ...;
ADODataSet.Param2 := ...;
ADODataSet.Open;
if ADODataSet.IsEmpty then
AdoDataSet.InserRecord[nil, aID, ... ];
bID := ADODataSet['ID'];
for l:=0 to b.Childs.Count -1 do
begin
// и.т.д
Мне всё равно нужно узнавать ID родительского элемента, чтоб при вхождении в дочерний уровень подставлять этот ID дочерним элементам.