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

📄 category.cs

📁 ASP.NET网络编程从入门到精通书的源代码资料
💻 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;

/// <summary>
    /// Summary description for Category
    /// </summary>
public class Category
{
	public void InitCategory(TreeView treeView,string sNodeUrl)
	{
		Category category = new Category();
		DataTable dataTable = SQLHelper.ConvertdrTodt(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 = true;
		rootNode.Selected = true;
		rootNode.NavigateUrl = sNodeUrl + "?CategoryID=" + rowList[0]["CategoryID"].ToString();
		rootNode.Target = "MainFrame";

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

		///创建其他节点
		InitChildNode(rootNode,dataTable,sNodeUrl);
	}

	private void InitChildNode(TreeNode parentNode,DataTable dataTable,string sNodeUrl)
	{
		///选择数据时,添加了排序表达式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 = true;
			node.NavigateUrl = sNodeUrl + "?CategoryID=" + row["CategoryID"].ToString();
			node.Target = "MainFrame";

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

	public void BindCategoryTreeView(TreeView treeView,bool isExpanded,string sSelectedData)
	{
		Category category = new Category();
		DataTable dataTable = SQLHelper.ConvertdrTodt(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 BindCategoryTreeList(DropDownList categroyList)
	{
		int nDepth = 0;
		Category category = new Category();
		DataTable dataTable = SQLHelper.ConvertdrTodt(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 = new SQLHelper();

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

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

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

	public SqlDataReader GetSubCategorys(int nCategoryID)
	{
		///定义类SQLHelper
		SQLHelper sqlHelper = new 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)
		{
			///抛出执行数据库异常
			SQLHelper.CreateErrorMsg(ex.Message);
			throw new Exception(ex.Message,ex);
		}

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

	public SqlDataReader GetSingleCategory(int nCategoryID)
	{
		///定义类SQLHelper
		SQLHelper sqlHelper = new 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)
		{
			///抛出执行数据库异常
			SQLHelper.CreateErrorMsg(ex.Message);
			throw new Exception(ex.Message,ex);
		}

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

	public int AddCategory(string sDesn,int nParentID,string sRemark)
	{
		///定义类SQLHelper
		SQLHelper sqlHelper = new SQLHelper();

		///创建访问数据库的参数			
		SqlParameter[] paramList = {
			sqlHelper.CreateInParam("@Desn",SqlDbType.VarChar,200,sDesn),
			sqlHelper.CreateInParam("@ParentID",SqlDbType.Int,4,nParentID),
			sqlHelper.CreateInParam("@Remark",SqlDbType.Text,8000,sRemark)
		};

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

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

		///创建访问数据库的参数			
		SqlParameter[] paramList = {
			sqlHelper.CreateInParam("@CategoryID",SqlDbType.Int,4,nCategoryID),
			sqlHelper.CreateInParam("@Desn",SqlDbType.VarChar,200,sDesn),
			sqlHelper.CreateInParam("@Remark",SqlDbType.Text,8000,sRemark)
		};

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

	public void UpdateCategoryOrder(int nCategoryID,string sMoveFlag)
	{
		///定义类SQLHelper
		SQLHelper sqlHelper = new 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)
		{
			///抛出执行数据库异常
			SQLHelper.CreateErrorMsg(ex.Message);
			throw new Exception(ex.Message,ex);
		}
	}

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

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

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

⌨️ 快捷键说明

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