您的位置:首页办公软件Access → C# Access 读取多级分类 dataset操作

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

时间:2009/5/11 18:50:00来源:本站整理作者:不详我要评论(0)

这个例子主要是展示数据库是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

 

        }

相关视频

    没有数据

相关阅读 C#中正则表达式使用教程C#多线程的相关概念C#程序的访问修饰符介绍利用C#远程存取Access数据库C#多线程应用探讨全面剖析C#接口编程之定义接口全面剖析C#接口编程之接口概述C#开发的两个基本编程原则的深入讨论

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 Access 2010 的十大优 Access2000如何创建索引Access数据库的存储上限ADO连接Access的几种规范做法Access通用-自动替换数据库中的字符串

人气排行 详解MDB与XLS文件互相转换方法C# Access 读取多级分类 dataset操作Access数据库过大问题的几种解决方案Access 2010 的十大优势如何使用c#操作ACCESS数据库Access数据库支持多少用户同时在线使用MD5加密数据库中的用户密码(一)SQL查找Access中某表是否存在方法