导航

« windows7 精美鼠标指针华为C8812 进不了桌面 无服务 root刷机等问题解决  »

C# Access 读取多级分类 dataset操作 分享

Csharp

        这个例子主要是展示数据库是Access时的 dataset操作,与数据是sql是有些不同,相对来说更加简洁;具体的dataset操作是在代码最后部分。

/// <summary>

        /// 绑定顶级分类
        /// </summary>
        private void BindDrpClass()
        {
            DataTable dt = GetClassList("").Tables[0];
            ddlLevel.Items.Clear();
            ddlLevel.Items.Add(new ListItem("添加根栏目", "0"));
            DataRow[] drs = dt.Select("sParent= " + 0);
 
            foreach (DataRow dr in drs)
            {
                string classid = dr["ID"].ToString();
                string classname = dr["sName"].ToString();
                //顶级分类显示形式
                classname = "◆" + classname;
 
                ddlLevel.Items.Add(new ListItem(classname, classid));
                int sonparentid = int.Parse(classid);
                string blank = "├";//
                //递归子分类方法
                BindDrpNode(sonparentid, dt, blank);
            }
            ddlLevel.DataBind();
        }
 
        /// <summary>
        /// 绑定子分类
        /// </summary>
        /// <param name="parentid"></param>
        /// <param name="dt"></param>
        /// <param name="blank"></param>
        private void BindDrpNode(int parentid, DataTable dt, string blank)
        {
            DataRow[] drs = dt.Select("sParent= " + parentid);
 
            foreach (DataRow dr in drs)
            {
                string classid = dr["ID"].ToString();
                string classname = dr["sName"].ToString();
 
                classname = blank + classname;
                ddlLevel.Items.Add(new ListItem(classname, classid));
 
                int sonparentid = int.Parse(classid);
                string blank2 = blank + "─";
 
                BindDrpNode(sonparentid, dt, blank2);
            }
        }
 
 
        /// <summary>
        /// 数据访问
        /// </summary>
        /// <param name="strWhere">SQL条件</param>
        /// <returns></returns>
        public DataSet GetClassList(string strWhere)
        {
            
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select * from Sort ");
            //string strSql = "select * from Sort ";
 
            if (strWhere.Trim() != "")
            {
                strSql.Append(" where " + strWhere);
            }
            //return SqlHelper.ExecuteDataset(SqlHelper.strConn, CommandType.Text, strSql.ToString());  //这个为sql数据库方法(需要sqlhelper对应语句支持)
 
            #region ForAccess //适用于对Access的dataset操作
            //创建DataSet对象
            OleDbDataAdapter da = new OleDbDataAdapter(strSql.ToString(), SqlHelper.strConn); //引用数据库连接dbconn并依据SQL语句"select * from kaizhi"创建OleDbDataAdapter对象da
            DataSet ds = new DataSet(); //创建DataSet对象
            da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象
            return ds;
            #endregion ForAccess
 
        }
 
  • 顶一下

落日故乡推荐


原创文章如转载,请注明:转载自落日故乡

本文链接地址:http://www.spersky.com/post/430.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

内容搜索


常用链接

最新评论及回复

Powered By Z-Blog

Copyright spersky All Rights Reserved.Theme Moonlight,Calf modified.