亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

asp.netsql無限極分類實例程序

2019-11-14 16:49:33
字體:
來源:轉載
供稿:網友

數據庫結構

 代碼如下復制代碼
create table category
(
    id                  int,               
    clsno            nvarchar(50),       
    clsname       nvarchar(50),                
    clslist            nvarchar(250),         
    clsparentno  nvarchar(50),    
    clslistlen       int
)

 

asp.net程序 http://www.111cn.net/net/net/51292.htm

 代碼如下復制代碼

/**********************************************************************************
 * 程序說明:     生成靜態頁面類(復雜型.有參數)
 * 創建日期:     2009.6.13
 * 修改日期:     2010.12.18
 * 程序制作:     agui
 * 聯系方式:     mailto:354990393@QQ.com 
 * ********************************************************************************/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Data;
using PlugNT.Safe;
using PlugNT.Database.Common;
using PlugNT.Database.Common.Simple;
using PlugNT.Custom;
using PlugNT.Cms.Model;

namespace PlugNT.Cms.DAL
{
    /// <summary>
    /// 無限極分類(由于字段的長度只能嵌套25層,且只能用于少量重要型的數據存儲)
    /// </summary>
    public class Category
    {


        PRivate static string currTableName = WebConfig.TablePrefix + "category";


        #region 獲取


        /// <summary>
        /// 獲取clsno
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public string GetClsno(int id)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select top 1 clsno from " + currTableName);
            strSql.Append(" where id=" + id.ToString());
            return Convert.ToString(DbHelper.GetSingle(strSql.ToString()));

        }

        /// <summary>
        /// 獲取clslist
        /// </summary>
        /// <param name="clsname"></param>
        /// <returns></returns>
        public string GetClslistByName(string clsname)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select top 1 clslist from " + currTableName);
            strSql.Append(" where clsname='" + StringHelper.SqlFilter(clsname) + "'");
            return Convert.ToString(DbHelper.GetSingle(strSql.ToString()));
        }

        /// <summary>
        /// 獲取clslist
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public string GetClslistByNo(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select top 1 clslist from " + currTableName);
            strSql.Append(" where clsno='" + StringHelper.SqlFilter(clsno) + "'");
            return Convert.ToString(DbHelper.GetSingle(strSql.ToString()));
        }

        /// <summary>
        /// 根據父級編號得到clsname
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public string GetClsnameByParentNo(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("Select top 1 clsname From " + currTableName);
            strSql.Append(" Where clsparentno='" + StringHelper.SqlFilter(clsno) + "'");
            return DbHelper.GetSingle(strSql.ToString()).ToString();
        }

        /// <summary>
        /// 得到父級clsno
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public string GetParentClsno(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("Select top 1 clsparentno From " + currTableName);
            strSql.Append(" Where clsno='" + StringHelper.SqlFilter(clsno) + "'");
            return DbHelper.GetSingle(strSql.ToString()).ToString();
        }

 

        /// <summary>
        /// 得到模型
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public CategoryInfo GetCategoryInfo(string clsno)
        {
            DataTable dt = GetCategoryTable(clsno);
            CategoryInfo model=null;
            if(dt.Rows.Count>0)
            {
                DataRow dr=dt.Rows[0];
                model=new CategoryInfo();
                model.id=(int)dr["id"];
                model.clsno=dr["clsno"].ToString();
                model.clsname=dr["clsname"].ToString();
                model.clslist=dr["clslist"].ToString();
                model.clsparentno=dr["clsparentno"].ToString();
                model.clslistlen=Int32.Parse(dr["clslistlen"].ToString());
            }
            return model;

        }

        /// <summary>
        /// 得到類別表
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public DataTable GetCategoryTable(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("Select top 1 * From " + currTableName);
            strSql.Append(" Where clsno='" + StringHelper.SqlFilter(clsno) + "'");
            DataTable dt = DbHelper.TabQuery(strSql.ToString());
            return dt;
        }
        #endregion

 

        #region 添加,修改,刪除操作

        /// <summary>
        /// 添加一個菜單項
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool Add(CategoryInfo model)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("insert into " + currTableName);
            strSql.Append(" (clsno,clsname,clslist,clsparentno,clslistlen)");

            strSql.Append(" values (");
            strSql.Append("'" + StringHelper.SqlFilter(model.clsno) + "',");
            strSql.Append("'" + StringHelper.SqlFilter(model.clsname) + "',");
            strSql.Append("'" + StringHelper.SqlFilter(model.clslist) + "',");
            strSql.Append("'" + StringHelper.SqlFilter(model.clsparentno) + "',");
            strSql.Append(" " +model.clslistlen );

            strSql.Append(")");

            return (DbHelper.ExecuteSql(strSql.ToString()) > 0) ? true : false;
        }

        /// <summary>
        /// 編輯一個菜單項
        /// </summary>
        /// <param name="model"></param>
        /// <param name="isSubModel">是否下級菜單</param>
        /// <returns></returns>
        public bool Update(CategoryInfo model, bool isSubModel)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update " + currTableName);
            strSql.Append(" set ");
            if (!isSubModel)
            {
                strSql.Append("clsname='" + StringHelper.SqlFilter(model.clsname) + "',");
                strSql.Append("clsparentno='" + StringHelper.SqlFilter(model.clsparentno) + "',");
            }
            strSql.Append("clslist='" + StringHelper.SqlFilter(model.clslist) + "',");
            strSql.Append("clslistlen=" + model.clslistlen );
            strSql.Append(" where clsno='" + StringHelper.SqlFilter(model.clsno) + "' ");

            //同步更新子菜單項
            DataTable  dt = GetOrderSubList(model.clsno);
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    CategoryInfo imodel = new CategoryInfo();
                    string Subclslist = model.clslist + dr["clsno"].ToString().Trim() + ",";
                    imodel.clslist = Subclslist;
                    imodel.clslistlen = model.clslistlen + 1;
                    Update(imodel,true);
                }
            }
            return (DbHelper.ExecuteSql(strSql.ToString()) > 0) ? true : false;
        }

        /// <summary>
        /// 刪除菜單項
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public bool Delete(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            DataTable dt = GetListRow(clsno);
            if (dt.Rows.Count > 0)
            {
                strSql.Append("Delete From " + currTableName);
                strSql.Append(" where clslist like '" + dt.Rows[0]["clslist"].ToString().Trim() + "%'");
            }
            return (DbHelper.ExecuteSql(strSql.ToString()) > 0) ? true : false;
        }


        #endregion

        #region 獲取列表

        /// <summary>
        /// 判斷一個父類編號是否存在
        /// </summary>
        public bool ParentExists(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select count(1) from " + currTableName);
            strSql.Append(" where clsparentno='" + StringHelper.SqlFilter(clsno) + "'");
            return DbHelper.Exists(strSql.ToString());
        }

        /// <summary>
        /// 獲取全部菜單名及列表
        /// </summary>
        /// <returns></returns>
        public DataTable GetList()
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select id,clsno,clsname,clslist,clsparentno,clslistlen from " + currTableName);
            return DbHelper.TabQuery(strSql.ToString());
            //clsno,clsname,clslist,clslistlen,indexfile,listfile,showfile,createpath,ismap
        }

        /// <summary>
        /// 獲取菜單列表(排序)
        /// </summary>
        /// <returns></returns>
        public DataTable GetOrderList()
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select id,clsno,clsname,clslist,clsparentno,clslistlen from " + currTableName);
            strSql.Append(" Order By clslist Asc"); // Order By clsorder Asc,clslist Asc
            return DbHelper.TabQuery(strSql.ToString());
        }

        /// <summary>
        /// 獲取clsno的包含菜單列表
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public DataTable GetListRow(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select top 1 clsno,clslist,clslistlen from " + currTableName);
            strSql.Append(" where clsno='" + StringHelper.SqlFilter(clsno) + "' ");
            return DbHelper.TabQuery(strSql.ToString());
        }

        /// <summary>
        /// 獲取該菜單項的所有子菜單項(因為clslist在表中都不同所以按clsorder排序無效果)
        /// </summary>
        /// <param name="clsno"></param>
        /// <returns></returns>
        public DataTable GetOrderSubList(string clsno)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select id,clsno,clsname,clslist,clsparentno,clslistlen from " + currTableName);
            strSql.Append(" where clsparentno='" + StringHelper.SqlFilter(clsno) + "' ");
            strSql.Append(" Order By clslist Asc");
            return DbHelper.TabQuery(strSql.ToString());
        }

        #endregion

        #region contact me
        public string Help()
        {
            return @"mailto:354990393@qq.com";
        }
        #endregion
    }

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精选在线观看| 亚洲美女av黄| 亚洲成人精品视频在线观看| 欧美激情一二区| www国产精品视频| 国产精品久久久一区| 狠狠久久亚洲欧美专区| 51久久精品夜色国产麻豆| 欧美精品videossex性护士| 国产精品中文久久久久久久| 亚洲另类激情图| 日韩精品中文字幕久久臀| 日韩精品极品视频免费观看| 国产精品一区二区三区免费视频| 久久影视电视剧免费网站清宫辞电视| 欧美肥臀大乳一区二区免费视频| 91久久精品国产91久久性色| 亚洲影院色无极综合| 欧美黄色免费网站| 国产午夜精品视频| 日韩在线观看网址| 九九视频这里只有精品| www.美女亚洲精品| 久久频这里精品99香蕉| 一区二区三区视频在线| 久久久久久国产三级电影| 91精品国产综合久久男男| 国产丝袜一区二区三区| 色综合91久久精品中文字幕| 色妞欧美日韩在线| 欧美日韩亚洲国产一区| 国产欧美精品在线| 国产精品福利观看| 日本精品性网站在线观看| 国产成一区二区| 日韩经典中文字幕在线观看| 日韩av在线网站| 51久久精品夜色国产麻豆| 国产日产久久高清欧美一区| 91九色视频在线| 欧美中文字幕在线| 精品国产老师黑色丝袜高跟鞋| 91在线视频导航| 一区二区三区在线播放欧美| 亚洲精品一区二区网址| 国产精品久久久久aaaa九色| 亚洲一区二区三区乱码aⅴ| 国产精品网址在线| 国产精品日本精品| 国产精品69精品一区二区三区| 欧美一区第一页| 亚洲第一天堂无码专区| 992tv成人免费影院| 国产午夜精品一区理论片飘花| 久久久久中文字幕| 欧美精品久久久久| 一区二区三区国产视频| 91精品国产免费久久久久久| 欧美一级视频免费在线观看| 亚洲国产精品一区二区三区| 亚洲午夜女主播在线直播| 色偷偷噜噜噜亚洲男人的天堂| 欧美一级淫片aaaaaaa视频| 精品国产一区二区三区久久狼黑人| 国产欧美精品一区二区| 欧美影院久久久| 在线观看精品国产视频| 成人有码视频在线播放| 中文字幕自拍vr一区二区三区| 亚洲午夜色婷婷在线| 91av在线国产| 日本精品免费观看| 美女久久久久久久| 欧美午夜www高清视频| 国产一区二区三区在线看| 国产成人啪精品视频免费网| 色综久久综合桃花网| 欧美在线视频免费播放| 狠狠躁夜夜躁人人爽天天天天97| 亚洲男人天堂2024| 国产欧美亚洲视频| 色综合色综合网色综合| 国产精品第2页| 亚洲精品国产精品自产a区红杏吧| 欧美性少妇18aaaa视频| 国产偷亚洲偷欧美偷精品| 国产精品老女人视频| 亚洲欧美中文另类| 自拍偷拍免费精品| 久久综合久久88| 亚洲精品在线看| 日韩女优人人人人射在线视频| 51久久精品夜色国产麻豆| 午夜精品福利在线观看| yellow中文字幕久久| 国产精品久久不能| www.亚洲成人| 亚洲国产天堂网精品网站| 欧美日韩中文字幕在线| 亚洲欧美日韩国产中文专区| 欧美电影免费观看电视剧大全| 97成人精品区在线播放| 久久艹在线视频| 亚洲一区二区三区四区在线播放| 成人久久久久久| 精品高清美女精品国产区| www国产精品视频| 亚洲精品日韩欧美| 在线观看亚洲区| 日韩专区在线播放| 成人激情综合网| 亚洲无亚洲人成网站77777| 91久久久在线| 亚洲免费福利视频| 国产精品av在线播放| 国产成人精品在线播放| 欧美老女人bb| 色先锋资源久久综合5566| 国产99视频精品免视看7| 日韩国产高清视频在线| 国产欧美一区二区三区在线看| 亚洲女同精品视频| 欧美精品一区二区三区国产精品| 国产精品久久久久久影视| 中文字幕日本欧美| 亚洲国产日韩欧美在线99| 欧美国产日韩一区二区| 亚洲精品久久久久中文字幕二区| 欧美性猛交丰臀xxxxx网站| 在线a欧美视频| 欧美在线亚洲一区| 色老头一区二区三区| 亚洲天堂av女优| 成人夜晚看av| 欧美影院久久久| 亚洲国产免费av| 亚洲成人黄色在线观看| 欧美日韩免费观看中文| 欧美激情视频一区二区三区不卡| 欧美劲爆第一页| 欧美激情欧美狂野欧美精品| 亚洲视频精品在线| 国产精品精品视频| www.久久草.com| 亚洲欧美在线第一页| 日韩av在线导航| 91免费国产视频| 91九色在线视频| 亚洲精品成人久久| 亚洲综合大片69999| 一区二区欧美日韩视频| 精品视频—区二区三区免费| 91久久国产综合久久91精品网站| 亚洲欧美成人一区二区在线电影| 久久精品国产91精品亚洲| 国产在线观看精品| 国产99久久精品一区二区| 亚洲综合最新在线| 九九热视频这里只有精品| 久久精品中文字幕电影| 精品久久久久久久久中文字幕| 日韩中文娱乐网| 一区二区av在线| 中文字幕亚洲激情|