📄 category.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 + -