using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
namespace DAL
{
public class ProductCategoryDAL
{
#region 绑定产品分类下拉框
/// <summary>
/// 绑定产品分类下拉框
/// </summary>
/// <returns></returns>
public void BindProductCategoryList(DropDownList ddl)
{
foreach (DataRow dr in GetCategoryList().Rows)
{
ddl.Items.Add(new ListItem(dr["name"].ToString(), dr["id"].ToString()));
}
}
#endregion
#region 绑定父级产品分类下拉框
/// <summary>
/// 绑定父级产品分类下拉框
/// </summary>
/// <returns></returns>
public void BindUpperProductCategoryList(DropDownList ddl)
{
foreach (DataRow dr in GetUpperCategoryList().Rows)
{
ddl.Items.Add(new ListItem(dr["name"].ToString(), dr["id"].ToString()));
}
}
#endregion
#region 绑定子级产品分类下拉框
/// <summary>
/// 绑定子级产品分类下拉框
/// </summary>
/// <returns></returns>
public void BindUpperProductCategoryList(DropDownList ddl)
{
foreach (DataRow dr in GetChildCategoryList().Rows)
{
ddl.Items.Add(new ListItem(dr["name"].ToString(), dr["id"].ToString()));
}
}
#endregion
/// <summary>
/// 查询所有产品分类
/// </summary>
/// <returns></returns>
public DataTable GetCategoryList()
{
return DbHelperSQL.Query("select * from tbproductcategory").Tables[0];
}
/// <summary>
/// 查询父级产品分类
/// </summary>
/// <returns></returns>
public DataTable GetUpperCategoryList()
{
return DbHelperSQL.Query("select * from tbproductcategory where upperid is null").Tables[0];
}
/// <summary>
/// 查询子级产品分类
/// </summary>
/// <returns></returns>
public DataTable GetChildCategoryList()
{
return DbHelperSQL.Query("select * from tbproductcategory where upperid is not null").Tables[0];
}
/// <summary>
/// 根据id查询标题
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public string GetTitle(int id)
{
string sqlstr = "select name from tbproductcategory where id=@id";
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int)
};
param[0].Value = id;
return DbHelperSQL.GetSingle(sqlstr, param).ToString();
}
/// <summary>
/// 获得每一个分类并从子表中获取该类第一条记录
/// </summary>
/// <param name="top">想要获取内容的数目</param>
public DataTable GetFirstOfAllWithCateName(int top)//获得每条分类的第一条内容
{
return DbHelperSQL.Query("select * ,(select name from tbproductcategory where tbproduct.categoryid=tbproductcategory.id) as categoryname from tbproduct where id in(select top " + top + " min(id) from tbproduct group by categoryid order by categoryid)").Tables[0];
}
}
}