文章类 软件类
好好999
 | 网站首页 | 网络编程语言 | 星座情感文章 | 特殊软件下载 | 站长工具天下 | 
html入门培训 网站服务器软件  化妆品经典广告词  雅芳化妆品价格  avon化妆品 net 入门培训 房地产销售广告 化妆品广告词 网络工程师
您现在的位置: 学习网 > 网络编程语言 > Asp.net > 正文
 | 网络编程语言首页 | Dreamweaver | Html | Asp | Jsp | Php | Asp.net | Css | Javascript | Access | Mysql | Mssql | Oracle | Domain | Mainframe |
最 新 热 门
普通文章编写BizTalk 自定义管道组件的
普通文章XML Schema Validator Class (
普通文章HOW TO:检索应用程序当前执行
普通文章asp向asp.net应用程序的转变过
普通文章ASP.NET简单应用
普通文章.NET中一些常见代码的性能问题
普通文章在DataGrid中为Footer添加自定
普通文章从 PHP 迁移到 ASP.NET(1)
普通文章[C#]StringWriter实现的一个功
普通文章.NET关于同步、异步及Socket
 
频 道 推 荐
普通文章带你走进ASP.NET(2)
普通文章使用函数传递参数来执行数据库
普通文章探讨C#中字符串的加密
普通文章ASP.Net环境下使用Jmail组件发
普通文章缺少if(!Page.IsPostBack)引起
普通文章用.NET发起web请求时维持Sessi
普通文章使用 ASP.NET 语法创建模板
普通文章VS .net 2003调试javascript中
普通文章.NET设计模式之工厂方法模式
普通文章探索ASP.NET Forum(2)控件的
普通文章ASP.NET生成n位不同的验证码
普通文章ASP.NET中输入文本的HTML解析办
普通文章全面解决.NET下Web项目打开失败
普通文章ASP.NET应用程序中调用EJB
普通文章DataGridView中如何在textbox列
普通文章Web 应用程序开发 (ASP.NET)
普通文章记时器在ASP.NET中的应用
普通文章消息与.Net Remoting的分布式处
普通文章ASP.NET关于分页上的数据删除问
普通文章asp.net生成缩略图
 
频 道 推 广
 
ASP.NET无限级分类的非递归实现(存储过程版)         ★★★
ASP.NET无限级分类的非递归实现(存储过程版)
作者:佚名 文章来源:本站整理 更新时间:2007-12-5

或多或少都做过树状目录、产品分类之类的二级或三级菜单,如果遇到更多级的分类,就一般使用递归了。在程序中使用递归或多或少会增加一些性能上的开销。

之前我用ASP.net在程序中实现过非递归的无限级分类目录,但考虑到移植性不强,就改成了存储过程,发出来大家共同研究一下,到目前为止,测试过程中还没发现问题,另外,代码方面没经过什么优化。

通常情况下,我们更多的操作是读取目录,所以,在下面的实现中,读取我们只需要一Select语句就够了,不使用递归,理论上无限级~!
===================================================
表结构:
表名:Tb_Column
表结构(所有字段非空):
Column_ID     int 主键(注:非标识)
Column_Name   nvarchar(50)分类名称
Parent_ID     int 父分类ID(默认值0)
Column_Path   nvarchar(1000) 分类路径
Column_Depth  int分类深度(默认值0)
Column_Order  int排序(默认值0)
Column_Intro  nvarchar(1000)分类说明

================================================
存储过程一:新建分类

CREATE PROCEDURE sp_Column_Insert
(
@Parent_ID int,
@Column_Name nvarchar(50),
@Column_Intro nvarchar(1000)
)
AS
Declare @Err As int
Set @Err=0

Begin Tran
--通过现有记录获取栏目ID
Declare @Column_ID As int
Declare @Column_Depth As int
Select @Column_ID = Max(Column_ID) From Tb_Column
IF @Column_ID Is Not Null
Set @Column_ID = @Column_ID+1
Else
Set @Column_ID = 1

--判断是否是顶级栏目,设置其Column_Path和Column_Order
Declare @Column_Path As nvarchar(1000)
Declare @Column_Order As int
IF @Parent_ID = 0
Begin
Set @Column_Path =Ltrim(Str(@Column_ID))
Select @Column_Order = Max(Column_Order) From Tb_Column
IF @Column_Order Is Not Null
Set @Column_Order = @Column_Order + 1
Else --如果没有查

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

 
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    DW中实现flash的透明背景
    Dreamweaver打造多彩文字链接
    Dreamweaver中幂格式文本巧实现
    鼠标事件的基础和完美实现
    Dreamweaver 实现多分辨率层定位
    携手打造【鹏程114 Web查询系统】第一讲
    实现网页转换特殊过渡效果
    网页设计:一种细腻的导航效果的制作方法
    Dreamweaver:制作目录树
    用Dreamweaver实现漫天花雨效果
    CSS2 参考
    CSS轻松实现色块标题标识
    网页中轻松实现三维字体
    显示你个性的鼠标指针
    用CSS滤镜实现图片翻转特效
    用CSS实现鼠标单击特效
    柱状统计图表的CSS实现
    利用css里expression来实现界面对象的批量控制
    利用CSS,不通过replace替换标引HTML标记
    实现HTML自动排版的法则
    | 设为首页 | 加入收藏 | 投搞邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    破天一剑私服 - 冒险岛外挂 - 传奇外挂 - dnf外挂 - 地下城与勇士外挂 - dnf外挂 - 传奇外传外挂 - qq三国外挂 - 天龙八部外挂 - 劲舞团私服 - 劲舞团私服 - 传奇私服 - 传奇私服 - 传奇私服 - 变态传奇私服 - 及时雨外挂 - 热血传奇私服 - 传世私服 - 魔兽世界私服 - 魔兽世界私服 - 完美世界私服

    点击这里给我发消息

    有事点这里

    copyright: 2007-2008 haohao888.com.cn 粤ICP备08105098号