query1.sql:
select year, month, day from table1 group by year, month, day order by year, month, day;
得到所有的年月日的组合,然后构成树,
where not(query1.eof) do
begin
if query1.fieldbyname('year') 已经在第一层year中存在 then
begin
treenode:=第一层year的那个node;
if query1.fieldbyname('month') 已经在treenode第二层month中存在 then
begin
treenode2:=第二层month的那个node;
if query1.fieldbyname('day') 已经在treenode2第三层day中存在 then
begin
//continue
end
else
加一个day;
end
else
begin
加一个month;
加一个day;
end;
end
else
begin
加一个year;
加一个month;
加一个day;
end;
query1.next;
end;
点中进行查询就不用写了吧?