表的设计: MyTree idparentname10中国20美国31湖北42加利福尼亚53武汉61北京71上海83孝感98安陆 说明:id为自动编号,parent表示此数据项属于哪一项的叶子。name为此项的名称。 程序核心:(建树的过程采用递归。可实现未知层数的树) //@author huang7818@gmail.com //建树 void CMyTreeDlg::OnInitTree(int parent, HTREEITEM faItem) { HTREEITEM NewItem; ADOConn m_Ado; CString strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://MyTree.mdb;"; m_Ado.OnInitADOConn(strConnection); CString strSql; strSql.Format("select * from MyTree where parent= %d",parent); m_Ado.GetRecordSet(_T(strSql)); while(!m_Ado.adoEOF()){ CString name, id; m_Ado.GetCollect("name",name); m_Ado.GetCollect("id",id); NewItem= m_tree1.InsertItem((LPTSTR)(LPCTSTR)name,faItem); OnInitTree(atoi(id),NewItem); m_Ado.MoveNext(); } m_Ado.CloseADOConnection(); }