求一个  c# winform
TreeView绑定oracle数据库  的例子
在网上找了好久了也没能找到
请各位帮帮忙
数据库连接是这样的string ConnectionString = "Data Source=zhpt;user=nwvideo;password=nwvideo;";//写连接串 
            OracleConnection conn = new OracleConnection(ConnectionString);//创建一个新连接             conn.Open();
            OracleCommand cmd = conn.CreateCommand();
            cmd.CommandText = "SELECT rname,did,rchannel FROM nwvideo.n_road ";//在这儿写sql语句 
            OracleDataReader dr = cmd.ExecuteReader();//创建一个OracleDateReader对象 
            
            treeView1.Visible = true;//treeView可见            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    //ListViewItem lv = new ListViewItem();
                    //lv.SubItems[0].Text = dr.GetOracleString(0).ToString();
                    //lv.SubItems.Add(dr.GetOracleString(1).ToString());
                    //listView1.Items.Add(lv);
                }
            }            conn.Close();
            dr.Close();以前是绑的listView
现在需求改变,需要绑定treeView
请帮忙
根结点SQLSELECT did FROM nwvideo.n_road 子结点SQL
SELECT rname FROM nwvideo.n_road根结点表里
did 
设备1
设备2
设备3子结点表里
rname 
设备1里的摄象机1
设备1里的摄象机2
设备1里的摄象机3设备2里的摄象机1
设备2里的摄象机2
设备2里的摄象机3设备3里的摄象机1
设备3里的摄象机2
设备3里的摄象机3
最后效果 
设备1
  设备1里的摄象机1
  设备1里的摄象机2
  设备1里的摄象机3
设备2
  设备2里的摄象机1
  设备2里的摄象机2
  设备2里的摄象机3
设备3
  设备3里的摄象机1
  设备3里的摄象机2
  设备3里的摄象机3

解决方案 »

  1.   

     C# code
        /// <summary>
        /// 树控件数据绑定
        /// </summary>
        private void TreeViewBind()
        {
            string strSelDepartMent = "";
            string strID = "";        TreeNode RNode = new TreeNode(); //实例化根节点
            TreeNode PNode = new TreeNode(); //实例化父节点
            TreeNode CNode = new TreeNode(); //实例化子节点        DataSet ds = null;
            DataSet ds2= null;
            IResShare iResShare = null;
            try
            {
                iResShare = (IResShare)DataAccess.CreateACCESSDEL("ResShare");
                ds = iResShare.GetResShareTreeViewDepartMent();
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    PNode = new TreeNode();//每次都要实例一次
                    strSelDepartMent = ds.Tables[0].Rows[i]["DName"].ToString();
                    strID = ds.Tables[0].Rows[i]["DepartmentId"].ToString();                //获取节点文本                
                    PNode.Text = strSelDepartMent;
                    //获取节点非显示值
                    PNode.Value = strID;
                    //默认结点是否为展开
                    PNode.Expanded = false;
                    //点击相应的节点文本展开子节点
                    PNode.SelectAction = TreeNodeSelectAction.Expand;
                    //PNode.Target = "main";
                    //绑定节点
                    tvResShare.Nodes.Add(PNode);
    //////////////////////////////////加载子节点//////////////////////////////////////                ds2 = iResShare.GetResShareTreeViewWorker(strSelDepartMent);
                    for (int j = 0; j < ds2.Tables[0].Rows.Count; j++)
                    {
                        CNode = new TreeNode();//每次都要实例一次                    //获取节点文本                
                        CNode.Text = ds2.Tables[0].Rows[j]["Name"].ToString();
                        //获取节点非显示值
                        CNode.Value = ds2.Tables[0].Rows[j]["WorkerId"].ToString();
                        //PNode.Target = "main";
                        //单击节点导航的路径
                        CNode.NavigateUrl = "ResShare.aspx?Id="+CNode.Value.ToString();
                        //绑定节点
                        PNode.ChildNodes.Add(CNode);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    //我不晓得你看懂不,这是我之前做的树,你照着做吧
      

  2.   

    那怎么绑定sqlserver 数据库呢? 
      

  3.   

    http://www.cnblogs.com/peterzb/archive/2009/06/08/1499131.html