这个例子主要是展示数据库是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中某表是否存在方法
查看所有0条评论>>