【www.hzclsc.cn--应用教程】
这个例子主要是展示数据库是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.hzclsc.cn/anzhuo/33147.html