我有两个表,第一表里的字段是:DataId(序号),Name(名称)
第二个表里字段是:id(序号),patrsid(父节点), patrsName,(节点名称) parentId,(子节点)DataId (上表的序号)
就是这样两个表。第一个表是固定的。我在取树时,先把第一个表的(名称)作为树
的第一层。最主要就是第二表。可以说是没有固定的层次的。 id patrsid patrsName Parentid, Dataid
1 1 xuxiao -1 001
2 2 jidian 1 001
3 3 huaxue 2 001
就是我上面的结构图。我如何遍历我下一个表的层次。请高手指点。
第二个表里字段是:id(序号),patrsid(父节点), patrsName,(节点名称) parentId,(子节点)DataId (上表的序号)
就是这样两个表。第一个表是固定的。我在取树时,先把第一个表的(名称)作为树
的第一层。最主要就是第二表。可以说是没有固定的层次的。 id patrsid patrsName Parentid, Dataid
1 1 xuxiao -1 001
2 2 jidian 1 001
3 3 huaxue 2 001
就是我上面的结构图。我如何遍历我下一个表的层次。请高手指点。
解决方案 »
- 如何实现拖拉文件到窗体中的列表框中?
- DBGridEH判断一个列个的重复值?
- SetWindowLong为何无作用!!!!!
- 我写了一个全局钩子(在DLL中),用EXE调用DLL时钩子过程函数很正常,但写了一个WINDOWS服务调用DL时,钩子过程函数就不起作用了,为什么?服务
- 请问对调用.db数据库的程序打包时,怎样加入BDE啊?
- grid的填充问题?
- 能否在IntraWeb中的IWDBGrid中实现boolean类型字段的其它方式显示
- 送分题!
- 哪裡有Delphi函數的中文說明下載?
- 关于DBGRID的问题?
- 怎样主动读取串口的数据(用api函数)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
- 串口编程实践问题,读地磅称重量数据
with dmfrm.QryComType do
begin
Close;
Sql.Clear;
Sql.Add('Select * From Com_Data_Mf where data_type_id = ''RUN0102''');
Open;
First;
while not eof do
begin
s_DataId := trim(dmfrm.QryComType.FieldByName('Data_id').AsString);
s_DataName := dmfrm.QryComType.FieldByName('Data_Content').AsString;
TreeNode1:= tvCatalog.Items.Addchild(TreeNode0,s_DataId+'-'+s_DataName);
with dmfrm.QryPartsCatalog do
begin
Close;
Sql.Clear;
Sql.Add('Select * from Fix_partsCatalog where Pc_Engineid='''+s_DataId+''' and Pc_parentPartsId =''-1''');
Open;
First;
while not dmfrm.QryPartsCatalog.eof do
begin
s_partsId := Dmfrm.QryPartsCatalog.FieldByName('Pc_PartsId').AsString;
s_PartsName := Dmfrm.QryPartsCatalog.FieldByName('Pc_PartsName').AsString;
i_Pid := Dmfrm.QryPartsCatalog.fieldByName('Pid').AsInteger;
NodeText := s_partsId + '-' + s_PartsName;
TreeNode2 := tvCatalog.Items.AddChild(TreeNode1, NodeText);
Next;
end;
Close;
end;
Next;
end;
Close;
end;
如何把第二个表中的其他层次也显示出来