⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 category.cs

📁 一个简单的网上书店形式
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using SQLHelper;

namespace ASPNET2BBS
{
    /// <summary>
    /// Summary description for Category
    /// </summary>
    public class Category
    {  
        public void BindCategoryTreeView(TreeView treeView, bool isExpanded,string sSelectedData)
        {
            Category category = new Category();
            DataTable dataTable = SystemTools.ConvertDataReaderToDataTable(category.GetCategorys());
            treeView.Nodes.Clear();     ///清空树的所有节点

            DataRow[] rowList = dataTable.Select("ParentID='-1'");
            if (rowList.Length <= 0) return;

            ///创建根节点
            TreeNode rootNode = new TreeNode();
            ///设置根节点属性
            rootNode.Text = rowList[0]["Desn"].ToString();
            rootNode.Value = rowList[0]["CategoryID"].ToString(); ///设置根节点的Key值
            rootNode.Expanded = isExpanded;
            rootNode.Selected = true;

            ///添加根节点
            treeView.Nodes.Add(rootNode);

            ///创建其他节点
            CreateChildNode(rootNode, dataTable, isExpanded,sSelectedData);
        }

        private void CreateChildNode(TreeNode parentNode, DataTable dataTable, bool isExpanded,
           string sSelectedData)
        {
            ///选择数据时,添加了排序表达式OrderBy
            DataRow[] rowList = dataTable.Select("ParentID='" + parentNode.Value + "'","OrderBy");
            foreach (DataRow row in rowList)
            {   ///创建新节点
                TreeNode node = new TreeNode();
                ///设置节点的属性
                node.Text = row["Desn"].ToString();
                node.Value = row["CategoryID"].ToString();
                node.Expanded = isExpanded;
                if (node.Value == sSelectedData)
                {
                    node.Selected = true;
                }
               
                parentNode.ChildNodes.Add(node);
                ///递归调用,创建其他节点
                CreateChildNode(node, dataTable, isExpanded,sSelectedData);
            }
        }

		public void BindCategoryTree(TreeView treeView, bool isExpanded, string sSelectedData)
		{
			Category category = new Category();
			DataTable dataTable = SystemTools.ConvertDataReaderToDataTable(category.GetCategorys());
			treeView.Nodes.Clear();     ///清空树的所有节点

			DataRow[] rowList = dataTable.Select("ParentID='-1'");
			if (rowList.Length <= 0) return;

			///创建根节点
			TreeNode rootNode = new TreeNode();
			///设置根节点属性
			rootNode.Text = rowList[0]["Desn"].ToString();
			rootNode.Value = rowList[0]["CategoryID"].ToString(); ///设置根节点的Key值
			rootNode.Expanded = isExpanded;
			rootNode.Selected = true;
			rootNode.NavigateUrl = rowList[0]["Url"].ToString() + "?CategoryID=" + rowList[0]["CategoryID"].ToString();
			rootNode.Target = "MainFrame";

			///添加根节点
			treeView.Nodes.Add(rootNode);

			///创建其他节点
			CreateSubNode(rootNode, dataTable, isExpanded, sSelectedData);
		}

		private void CreateSubNode(TreeNode parentNode, DataTable dataTable, bool isExpanded,
		   string sSelectedData)
		{
			///选择数据时,添加了排序表达式OrderBy
			DataRow[] rowList = dataTable.Select("ParentID='" + parentNode.Value + "'", "OrderBy");
			foreach (DataRow row in rowList)
			{   ///创建新节点
				TreeNode node = new TreeNode();
				///设置节点的属性
				node.Text = row["Desn"].ToString();
				node.Value = row["CategoryID"].ToString();
				node.Expanded = isExpanded;
				if (node.Value == sSelectedData)
				{
					node.Selected = true;
				}
				node.Target = "MainFrame";
				if (row["IsDir"].ToString() == "1")
				{
					node.NavigateUrl = row["Url"].ToString() + "?CategoryID=" + row["CategoryID"].ToString();
				}
				else
				{
					node.NavigateUrl = "BBS/BBSTitle.aspx?CategoryID=" + row["CategoryID"].ToString();
				}

				parentNode.ChildNodes.Add(node);
				///递归调用,创建其他节点
				CreateSubNode(node, dataTable, isExpanded, sSelectedData);
			}
		}

        public void BindCategoryTreeList(DropDownList categroyList)
        {
            int nDepth = 0;
            Category category = new Category();
            DataTable dataTable = SystemTools.ConvertDataReaderToDataTable(category.GetCategorys());
            categroyList.Items.Clear();     ///清空树的所有节点

            DataRow[] rowList = dataTable.Select("ParentID='-1'");
            if (rowList.Length <= 0) return;

            ///创建、添加根节点
            categroyList.Items.Add(new ListItem(rowList[0]["Desn"].ToString(), rowList[0]["CategoryID"].ToString()));

            ///创建其他节点
            CreateChildNode(categroyList, dataTable, Int32.Parse(rowList[0]["CategoryID"].ToString()), nDepth);
        }

        private void CreateChildNode(DropDownList categroyList, DataTable dataTable, int nParentID, int nDepth)
        {
            nDepth++;
            string sSpace = "";
            for (int i = 0; i < nDepth * 2; i++)
            {
                sSpace += "---";
            }

            ///选择数据时,添加了排序表达式OrderBy
            DataRow[] rowList = dataTable.Select("ParentID='" + nParentID.ToString() + "'", "OrderBy");
            foreach (DataRow row in rowList)
            {
                ///创建新节点
                categroyList.Items.Add(new ListItem(sSpace + row["Desn"].ToString(),
                    row["CategoryID"].ToString()));

                ///递归调用,创建其他节点
                CreateChildNode(categroyList, dataTable, Int32.Parse(row["CategoryID"].ToString()), nDepth);
            }
        }

        public SqlDataReader GetCategorys()
        {
            ///定义类SQLHelper
            SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

            ///定义保存从数据库获取的结果的DataReader
            SqlDataReader dr = null;

            try
            {
                ///执行存储过程
                sqlHelper.RunProc("Pr_GetCategorys", out dr);
            }
            catch (Exception ex)
            {
                ///抛出执行数据库异常
                SystemError.CreateErrorLog(ex.Message);
                throw new Exception(ex.Message, ex);
            }

            ///返回从数据库获取的结果
            return (dr);
        }

		public SqlDataReader GetSubCategorys(int nCategoryID)
		{
			///定义类SQLHelper
			SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

			///定义保存从数据库获取的结果的DataReader
			SqlDataReader dr = null;

			///创建访问数据库的参数			
			SqlParameter[] paramList = {
				sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID)
			};

			try
			{
				///执行存储过程
				sqlHelper.RunProc("Pr_GetSubCategorys", paramList, out dr);
			}
			catch (Exception ex)
			{
				///抛出执行数据库异常
				SystemError.CreateErrorLog(ex.Message);
				throw new Exception(ex.Message, ex);
			}

			///返回从数据库获取的结果
			return (dr);
		}

        public SqlDataReader GetSingleCategory(int nCategoryID)
        {
            ///定义类SQLHelper
            SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

            ///定义保存从数据库获取的结果的DataReader
            SqlDataReader dr = null;

            ///创建访问数据库的参数			
            SqlParameter[] paramList = {
				sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID)
			};

            try
            {
                ///执行存储过程
				sqlHelper.RunProc("Pr_GetSingleCategory", paramList, out dr);
            }
            catch (Exception ex)
            {
                ///抛出执行数据库异常
                SystemError.CreateErrorLog(ex.Message);
                throw new Exception(ex.Message, ex);
            }

            ///返回从数据库获取的结果
            return (dr);
        }

        public int AddCategory(string sDesn,string sEnDesn,string sUrl,int nParentID,
			int nOrderBy,int nIsDir)
        {
            ///定义类SQLHelper
            SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

            ///创建访问数据库的参数			
            SqlParameter[] paramList = {
				sqlHelper.CreateInParam("@Desn",SqlDbType.VarChar,200,sDesn),
				sqlHelper.CreateInParam("@EnDesn",SqlDbType.VarChar,200,sEnDesn),
				sqlHelper.CreateInParam("@Url",SqlDbType.VarChar,200,sUrl),
                sqlHelper.CreateInParam("@ParentID",SqlDbType.Int,4,nParentID),
                sqlHelper.CreateInParam("@OrderBy",SqlDbType.Int,4,nOrderBy),
				sqlHelper.CreateInParam("@IsDir",SqlDbType.Int,4,nIsDir),
            };

            try
            {
                ///执行存储过程
				return (sqlHelper.RunProc("Pr_AddCategory", paramList));
            }
            catch (Exception ex)
            {
                ///抛出执行数据库异常
                SystemError.CreateErrorLog(ex.Message);
                throw new Exception(ex.Message, ex);
            }
        }

        public void UpdateCategory(int nCategoryID,string sDesn,string sEnDesn,string sUrl,
			int nIsDir)
        {
            ///定义类SQLHelper
            SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

            ///创建访问数据库的参数			
            SqlParameter[] paramList = {
				sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID),
				sqlHelper.CreateInParam("@Desn",SqlDbType.VarChar,200,sDesn),
				sqlHelper.CreateInParam("@EnDesn",SqlDbType.VarChar,200,sEnDesn),
				sqlHelper.CreateInParam("@Url",SqlDbType.VarChar,200,sUrl),
				sqlHelper.CreateInParam("@IsDir",SqlDbType.Int,4,nIsDir),
            };

            try
            {
                ///执行存储过程
				sqlHelper.RunProc("Pr_UpdateCategory", paramList);
            }
            catch (Exception ex)
            {
                ///抛出执行数据库异常
                SystemError.CreateErrorLog(ex.Message);
                throw new Exception(ex.Message, ex);
            }
        }

		public void UpdateCategorySubCount(int nCategoryID)
		{
			///定义类SQLHelper
			SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

			///创建访问数据库的参数			
			SqlParameter[] paramList = {
				sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID)
            };

			try
			{
				///执行存储过程
				sqlHelper.RunProc("Pr_UpdateCategorySubCount", paramList);
			}
			catch (Exception ex)
			{
				///抛出执行数据库异常
				SystemError.CreateErrorLog(ex.Message);
				throw new Exception(ex.Message, ex);
			}
		}

        public void UpdateCategoryOrder(int nCategoryID,string sMoveFlag)
        {
            ///定义类SQLHelper
            SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

            ///创建访问数据库的参数			
            SqlParameter[] paramList = {
				sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID),
				sqlHelper.CreateInParam("@MoveFlag",SqlDbType.VarChar,20,sMoveFlag)	
			};

            try
            {
                ///执行存储过程
				sqlHelper.RunProc("Pr_UpdateCategoryOrder", paramList);
            }
            catch (Exception ex)
            {
                ///抛出执行数据库异常
                SystemError.CreateErrorLog(ex.Message);
                throw new Exception(ex.Message, ex);
            }
        }

        public void DeleteCategory(int nCategoryID)
        {
            ///定义类SQLHelper
            SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();

            ///创建访问数据库的参数			
            SqlParameter[] paramList = {
				sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID)
			};

            try
            {
                ///执行存储过程
				sqlHelper.RunProc("Pr_DeleteCategory", paramList);
            }
            catch (Exception ex)
            {
                ///抛出执行数据库异常
                SystemError.CreateErrorLog(ex.Message);
                throw new Exception(ex.Message, ex);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -