TreeView控件递归调用access数据库的问题

问题描述

小弟刚开始接触vb.net,现在有个winform程序要写,100分相赠,望高手帮助……access数据库中的一张表,叫unit,表里就3列,分别是ID,Name,ParentID:1,XXX,02,YYY,03,XX1,14,XX2,15,YY1,26,YY2,27,X1,38,X2,3就是以上这个结构的access数据库,现在需要读取这张表的数据,然后分层的显示在TreeView控件中:XXX--XX1----X1----X2--XX2YYY--YY1--YY2如同以上的表现方式,小弟在网络上我找了好久,都没这个VB.NET+access的源码,希望好心人帮助一下,万分感谢!

解决方案

解决方案二:
参考,delphi代码,理解了就行http://blog.csdn.net/bdmh/article/details/5857236

解决方案三:
谢谢楼上的同志,但是由于底子比较差……还是得要看了可以运行的源码程序才会,因为数据库连接也是个问题……
解决方案四:
再把ParentID0进行区别一下。第一级节点dimnod(第一级节点数)asTreeNodedimiasIntegernod(i)=NewTreeNodenod(i)=TreeView1.Nodes.Add("xxx")第二级节点dimnod1(第二级节点数)asTreeNodedimjasIntegernod(j)=NewTreeNodenod(j)=nod(i).Nodes.Add("xx1")最后底内容nod(j).text="x1"其他的取数据的没写,只写了如何建节点的。如有疑问,可参看我的QQ空间:http://user.qzone.qq.com/631582825/infocenter#!app=2&pos=1320153235
解决方案五:
这个问题:1,建议在ACCESS表格中增加一列,表示父节点记录的ID;2,如果数据多的时候,建议不要一下子在ACCESS中读取,速度会很慢的;本人测试过4000条记录,这样的做法非常慢了;还是把最近节点显示到控件的节点(估计也就30条)存储为一个txt文件,放在access表格中,第一次加载的时候,直接加载txt文件的信息;如果节点展开/收缩,就针对父节点ID,读取/筛选一次ACCESS表;
解决方案六:
通过tree.nodes的Key来寻找父级节点即可,例如:dimn1,n2astreenodeforeachrowintb1.rowsifrow1(2)>0thenn1=tree.nodes(row1(2)).add(row1(0),row1(1))elsen1=tree.nodes.add(row1(0),row1(1))endifnext
解决方案七:
按照楼上的同志的思路,试了下,还是不行,哎
解决方案八:
看此贴:http://topic.csdn.net/u/20120329/16/0b8061d4-54f2-4620-ad95-68e6d55a4728.html
解决方案九:
vb的没有C#的可以吗?
解决方案十:
不知道你能不能看懂有些参数例如conn是其它地方已经赋值了如果要能完整运行的,那我把项目打包给你好了,留下QQ吧'得到数据库目录记录PublicFunctionGetSort(ByRefiAsInteger)AsInteger'DimmyDTAsDataTableDimOleDbConnAsNewOleDbConnection(conn)OleDbConn.Open()DimselectcommAsString="select*fromSortwhereLevelID="&i.ToStringDimaptAsOleDbDataAdapter=NewOleDbDataAdapter(selectcomm,OleDbConn)DimmyDSAsDataSet=NewDataSetapt.Fill(myDS,"Sort")dt=myDS.Tables.Item(0)OleDbConn.Close()Returndt.Rows.CountEndFunction'递归查nodesPublicSubSeachNode(ByValnodeAsTreeNode,ByValaddnodeAsTreeNode)DimmyNodeAsTreeNode=NewTreeNodeForEachmyNodeInnode.NodesIfyn=FalseThenIfCInt(myNode.Tag(0))=addnode.Tag(1)ThenmyNode.Nodes.Add(addnode)yn=TrueExitSubElseSeachNode(myNode,addnode)EndIfElseExitSubEndIfNextEndSub'''<summary>'''把Sort表中的目录显示在tv控件中'''</summary>'''<remarks></remarks>PublicSubShowtv()Dimi,jAsIntegeri=1j=GetSort(i)DoUntilj=0Ifj>0ThenDimrowAsDataRowForEachrowIndt.RowsIfrow("LevelID")=1ThenDimmyNodeAsTreeNode=NewTreeNodeDimabouts(2)AsStringmyNode.Text=row("项目标题")abouts(0)=row("SortID")abouts(1)=row("FatherID")abouts(2)=row("LevelID")myNode.Tag=aboutstv.Nodes.Add(myNode)ElseDimmyNodeAsTreeNode=NewTreeNodeDimabouts(2)AsStringmyNode.Text=row("项目标题")abouts(0)=row("SortID")abouts(1)=row("FatherID")abouts(2)=row("LevelID")myNode.Tag=aboutsDimnewNodeAsTreeNode=NewTreeNodeyn=FalseForEachnewNodeIntv.NodesIfyn=TrueThenExitForElseIfnewNode.Tag(0)=myNode.Tag(1)ThennewNode.Nodes.Add(myNode)ExitForElseSeachNode(newNode,myNode)EndIfEndIfNextEndIfNexti+=1j=GetSort(i)EndIfLoopEndSub

时间: 2024-11-05 14:49:06

TreeView控件递归调用access数据库的问题的相关文章

用户控件 里访问Access数据库

问题描述 求教一个问题:我创建了一个用户控件,然后在这个控件里访问Access数据库,然后直接在控件里调试,出现了错误:未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序.备注:把这个控件拖到其他窗体上后运行就没问题,要是单独调试这个控件就不行 解决方案 解决方案二:WIN64位?如果是的话请改用X86编译解决方案三:该回复于2014-01-11 11:28:57被版主删除解决方案四:引用1楼wyd1520的回复: WIN64位?如果是的话请改用X86编译

access数据库-C#treeview控件读取ACCESS数据库数据并显示

问题描述 C#treeview控件读取ACCESS数据库数据并显示 C#中treeview控件读取ACCESS数据库数据并显示,急求急求急求急求急求急求 解决方案 支持任意数据库http://blog.csdn.net/xianfajushi/article/details/7756584 解决方案二: http://wenku.baidu.com/link?url=wmhiqcblgkcgVwQw9-mvCuAD0WG3AA8k87fHuHb0j3wPUTz41huk-TGUbmCagBZhd

TreeView控件应用(包含递归调用)

using System; using System.Windows.Forms; namespace TreeView控件 {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         private void button1_Click(object sender, EventArgs e)

添加根节点 循环数据-TreeView控件,把数据库的内容,循环绑定到一个写死的根节点上

问题描述 TreeView控件,把数据库的内容,循环绑定到一个写死的根节点上 我用的递归方法绑定数据,代码是这样的:private void BindDate(int Pid TreeNode PNode) { DataSet ds = cBll.GetList(""""); DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { DataView dv = new DataView(dt);//过滤Pare

数据库中表绑定到treeview控件

问题描述 数据库中表绑定到treeview控件 如何在C++builder中把数据库"sql"中的一个表"tb_CarType"绑定到treeview控件上 以前没用过这些控件和数据库的知识,希望大虾们能给个详细的答案,谢谢 解决方案 QSqlRelationalTableModel了解下这个类的 然后就是MVC结构的用法

创建可编辑的xml文档(之一)绑定xml文档到treeview 控件

treeview|xml|创建|控件 目录:    介绍    绑定xml文档到treeview 控件    过滤xml 数据    执行拖放操作    执行删除,改名,插入操作    使用中的treeview 控件   通过xml 和xpath 你可以毫不费力的为你的treeview控件增加拖放甚至更多的功能-by Alex Hildyard   最近,我一直在开发一个用来维护在线目录的用户界面工具,因为这个目录包含太多的产品,所以用一些方法对他们分类是很有意义的.目录管理员将需要有删除和定义

.NET平台下带权限控制的TreeView控件节点生成算法

treeview|控件|控制|算法 一.引言 在应用系统开发中,TreeView是一种使用频率很高的控件.它的主要特点是能够比较清晰地实现分类.导航.浏览等功能.因而,它的使用方法与编程技巧也一直受到技术人员的关注.随着应用需求的变化,在很多情况下我们需要实现数据显示的权限控制,即用户看到的数据是经过过滤的,或是连续值,或是一些离散的值.就TreeView而言,原先可能显示出来的是完整的具有严格父子关系得节点集,而经权限过滤后所要显示的节点可能会变得离散,不再有完整的继承关系.本文针对这一问题,

树TreeView控件与DataTable交互添加节点(最高效的方法)

方法一: View Code 本文转载:http://dengzebo.blog.163.com/blog/static/18867406201032141742168/ #region "读取树结点从Datatable"         /// <summary>         /// 读取树结点从Datatable"         /// </summary>         /// <param name="TreeView1

TreeView控件的使用

说在前面 好多网友来信要求我们写一些 ActiveX 控件的文章,其实对此我们早有计划.记得去年我们筹划 BOE 工作时的时候,小李就写好了一篇关于 ListView 的文章,十分不幸的是小李的机器遭黑客攻击,这篇文章丢失了:这阵子小李又要应付一场考试,没有空闲撰写文章.于是我就勉为其难,代替小李完成 TreeView 控件的介绍,以后有关 ActiveX 的内容仍有小李负责. ActiveX 是扩展应用程序功能的重要手段,但市面上有关 Visual FoxPro 与 ActiveX 控件的介绍