国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

bbs樹形結構的完成辦法(一)

bbs樹形結構的完成辦法(一)

更新時間:2019-09-02 文章作者:未知 信息來源:網絡 閱讀次數:

【bigeagle】 于 2000-12-6 14:38:50 加貼在 Joy ASP ↑:

    bbs的樹形結構顯示可以有很多種方法,其中比較容易想到的是遞歸和排序串方法,但這兩種方法并不是很好,那么怎
樣才算是比較合理的算法呢?
    遞歸方法不用講,大家都知道怎么用,先講講排序串方法,最簡單的排序串方法可以這樣用,只用一個id就可以完成樹
型,向這樣
1  001
2  002
3  001001
4  001001001
5  001002001
用這個字符串排序后就變成這樣:
001
   001001
         001001001
   001002001
002
這種方法容易實現,但缺點也是很明顯,一個是回帖數受限制,另一個隨著回帖增加會越來越長,影響數據庫效率。  

下面一種方法是李龍的,屬于變通的排序串方法
DDL
--------------
CREATE TABLE dbo.Message
(
    ID          numeric(18,0) IDENTITY(1000,1),
    DateAndTime datetime      DEFAULT getdate() NOT NULL,
    AuthorID    numeric(18,0) NOT NULL,
    Subject     nvarchar(250) NOT NULL,
    Body        ntext         NULL,
    LinkURL     nvarchar(100) NULL,
    TextForLink nvarchar(50)  NULL,
    ImageURL    nvarchar(100) NULL,
    Class       int           DEFAULT 0 NOT NULL,
    ClientInfo  nvarchar(250) NULL,
    RemoteAddr  nvarchar(50)  NULL,
    CONSTRAINT PK_BBSMessage
    PRIMARY KEY NONCLUSTERED (ID,AuthorID)
)
go
CREATE TABLE dbo.MsgRefTab
(
    MsgID      numeric(18,0) NOT NULL,
    ParentID   numeric(18,0) NOT NULL,
    AncestorID numeric(18,0) NOT NULL,
    ChildNum   numeric(18,0) DEFAULT 0 NOT NULL,
    LinkStr    nvarchar(250) NOT NULL,
    CONSTRAINT PK_BBSRefTab
    PRIMARY KEY NONCLUSTERED (MsgID)
)
go
-----------------
存儲過程:
-----------------
-- 抽出
CREATE PROCEDURE sp_Summary
@HaveBody bit,
@from numeric,
@to numeric
AS
IF (@HaveBody = 1)
select t.ID,t.DateAndTime,m.Nickname as
Author,m.Email,t.Subject,t.Body,t.LinkURL,t.TextForLink,t.ImageURL,s.ChildNu
m,s.ParentID
from Message t
  ,MsgRefTab AS s
  ,(SELECT MsgID FROM MsgRefTab WHERE ParentID = 0) AS f
  ,Members AS m
where t.ID=s.MsgID
  and f.MsgID = s.AncestorID
  and f.MsgID between @from and @to
  and m.MemberID = t.AuthorID
order by s.AncestorID,s.LinkStr
ELSE
select t.ID,t.DateAndTime,m.Nickname as
Author,m.Email,t.Subject,t.LinkURL,t.TextForLink,t.ImageURL,s.ChildNum,s.Par
entID
from Message t
  ,MsgRefTab AS s
  ,(SELECT MsgID FROM MsgRefTab WHERE ParentID = 0) AS f
  ,Members AS m
where t.ID=s.MsgID
  and f.MsgID = s.AncestorID
  and f.MsgID between @from and @to
  and m.MemberID = t.AuthorID
order by s.AncestorID,s.LinkStr
go

-- 加貼

CREATE PROCEDURE sp_Add_Message
@AuthorID numeric,
@Subject nvarchar(250),
@Body  ntext,
@LinkURL nvarchar(100),
@TextForLink nvarchar(50),
@ImageURL nvarchar(100),
@ParentID numeric,
@ID  numeric OUTPUT,
@ChildNum numeric OUTPUT,
@LinkStr nvarchar(250) OUTPUT,
@AncestorID numeric OUTPUT
AS
INSERT INTO Message(
  AuthorID,
  Subject,
  Body,
  LinkURL,
  TextForLink,
  ImageURL)
VALUES(
  @AuthorID,
  @Subject,
  @Body,
  @LinkURL,
  @TextForLink,
  @ImageURL)

SELECT @ID = @@IDENTITY

UPDATE MsgRefTab
SET
  ChildNum = ChildNum+1
WHERE
  MsgID = @ParentID

SELECT @ChildNum = ChildNum,
  @LinkStr = LinkStr,
  @AncestorID = AncestorID
FROM MsgRefTab
WHERE
  MsgID = @ParentID
go

---
是基于這樣的想法:
貼子和跟貼都放在message表里,另有MsgRefTab對每一條信息都有描述。
父貼ParentID,0為不是子貼
祖宗貼AncestorID
直接跟貼數ChildNum
聯接串LinkStr,學問都在這里,所有的跟貼都用一個數字字符串表示
如是
1011--->            為空
1012--->001         1011的跟貼,父貼LinkStr+父貼的子貼數+1
1013--->001001      1012的跟貼,父貼LinkStr+父貼的子貼數+1
1018--->001001001   1013的跟貼,父貼LinkStr+父貼的子貼數+1
1014--->001002      1012的跟貼,父貼LinkStr+父貼的子貼數+1
1017--->001002001   1014的跟貼,父貼LinkStr+父貼的子貼數+1

部分演示數據:
MsgID ParentID AncestorID ChildNum LinkStr
1010  0        1010       0
1011  0        1011       1
1012  1011     1011       3        001
1013  1012     1011       1        001001
1014  1012     1011       1        001002
1015  0        1015       0
1017  1014     1011       0        001002001
1018  1013     1011       0        001001001

就是算法復雜一點,但只使用select就得到了正確的結構列表。
看了這么多bbs的算法,還是覺得自己的方法好,現實中由存儲過程直接生成xml文檔,交
給client。



溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        中文字幕成人在线观看| 欧美老肥妇做.爰bbww视频| 91欧美一区二区| 国产精品久99| 在线视频综合导航| 亚洲在线视频免费观看| 精品视频在线免费| 图片区小说区国产精品视频| 正在播放一区二区| 久久电影网站中文字幕| 久久久久国产精品厨房| jizzjizzjizz欧美| 亚洲3atv精品一区二区三区| 91麻豆精品国产91久久久 | 国产成人免费视| 国产精品福利电影一区二区三区四区 | 一区二区成人在线视频| 91精品欧美一区二区三区综合在| 国产一区二区三区四区五区美女| 亚洲欧美在线视频| 日韩欧美视频在线| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲sss视频在线视频| 精品少妇一区二区三区| 91蜜桃网址入口| 激情六月婷婷久久| 亚洲精品美腿丝袜| 精品国产乱码久久久久久图片| 91视频.com| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲柠檬福利资源导航| 精品免费视频一区二区| 欧美视频中文字幕| www.亚洲国产| 久久av资源网| 午夜电影一区二区| 一区二区视频免费在线观看| 国产人久久人人人人爽| 日韩一区二区免费高清| 欧美伊人久久久久久久久影院| 国产精品一卡二卡在线观看| 日本aⅴ亚洲精品中文乱码| 亚洲人成人一区二区在线观看| 久久久99精品免费观看| 欧美成人艳星乳罩| 欧美亚洲免费在线一区| 97精品久久久午夜一区二区三区| 国模无码大尺度一区二区三区| 丝袜亚洲精品中文字幕一区| 亚洲一区二区3| 一区二区三区在线视频免费| 国产精品成人一区二区三区夜夜夜 | 国产亚洲自拍一区| 精品噜噜噜噜久久久久久久久试看 | 91在线小视频| 成人app网站| 成人激情黄色小说| 成人午夜电影久久影院| 国产黄色91视频| 成人晚上爱看视频| 丁香天五香天堂综合| 国产成a人亚洲| 成人丝袜视频网| 99在线精品观看| 日本国产一区二区| 在线观看成人小视频| 欧美中文字幕一区| 欧美最猛性xxxxx直播| 在线观看国产一区二区| 欧美三级中文字幕在线观看| 欧美日韩成人综合在线一区二区| 欧美日韩久久一区| 欧美一二区视频| 久久久五月婷婷| 国产精品福利一区| 一区二区三区在线高清| 亚洲二区在线观看| 久久se精品一区二区| 国产成人免费9x9x人网站视频| 国产精品1区二区.| 99re亚洲国产精品| 欧美日产国产精品| 久久久电影一区二区三区| 亚洲国产精品v| 亚洲一区二三区| 精品一区二区三区视频在线观看 | 欧美一区二区三区免费在线看| 日韩欧美国产成人一区二区| 国产日韩精品一区| 亚洲蜜桃精久久久久久久| 亚洲18影院在线观看| 久久国产精品色| 91麻豆精品秘密| 日韩久久免费av| 亚洲欧洲综合另类| 久久精品噜噜噜成人88aⅴ| 波多野结衣视频一区| 欧美一卡二卡在线| 亚洲欧美国产高清| 国产精品系列在线播放| 欧美又粗又大又爽| 国产午夜一区二区三区| 天堂一区二区在线免费观看| 99久久伊人网影院| 日韩欧美另类在线| 亚洲一区日韩精品中文字幕| 高清不卡一二三区| 欧美大片在线观看| 亚洲国产一区二区三区 | 欧美大片免费久久精品三p| 国产精品麻豆一区二区 | 国产一区二三区好的| 在线免费亚洲电影| 中文一区在线播放| 狠狠色综合日日| 91精品久久久久久久99蜜桃| 亚洲同性同志一二三专区| 精品一区二区三区免费观看| 欧美视频中文字幕| 伊人性伊人情综合网| 成人网男人的天堂| 久久综合色8888| 蜜桃视频一区二区三区| 欧美日韩一本到| 一区二区三区四区乱视频| 床上的激情91.| 国产欧美一区二区在线观看| 黄色成人免费在线| 欧美va日韩va| 美腿丝袜亚洲三区| 欧美老女人在线| 日韩精品高清不卡| 欧美日韩国产精品成人| 亚洲精品一二三| 91美女片黄在线观看| 国产精品国产三级国产有无不卡| 国产成人免费在线观看不卡| 久久久久久久久免费| 国产伦精一区二区三区| 久久精品视频一区二区| 国产最新精品精品你懂的| 久久综合一区二区| 国产精品一区二区黑丝| 国产日韩欧美不卡| 91视频一区二区| 午夜电影网一区| 精品日产卡一卡二卡麻豆| 韩国av一区二区三区四区| 欧美精品一区二区三区蜜桃视频| 久久精品国产999大香线蕉| 久久久青草青青国产亚洲免观| 国产+成+人+亚洲欧洲自线| ㊣最新国产の精品bt伙计久久| 91国偷自产一区二区三区成为亚洲经典| 亚洲欧美日韩国产综合| 欧美乱熟臀69xxxxxx| 国产尤物一区二区| 国产精品毛片a∨一区二区三区| 91啪九色porn原创视频在线观看| 亚洲成人综合在线| 精品剧情在线观看| av在线免费不卡| 亚洲va国产va欧美va观看| 欧美成人女星排名| 风间由美性色一区二区三区| 亚洲激情第一区| 欧美tickling网站挠脚心| 99久久婷婷国产| 免费久久99精品国产| 中文字幕不卡在线播放| 7777精品伊人久久久大香线蕉的 | 亚洲午夜精品在线| 日韩欧美123| 色婷婷综合五月| 精品一区二区三区免费| 亚洲天堂2016| 精品少妇一区二区三区在线视频| 99精品偷自拍| 精品一区二区三区的国产在线播放| 亚洲欧洲性图库| 26uuu亚洲综合色| 欧美曰成人黄网| 不卡高清视频专区| 青青国产91久久久久久| 18成人在线视频| 久久久久久免费毛片精品| 欧美二区乱c少妇| 色综合视频在线观看| 国内一区二区视频| 亚洲成人免费视频| 亚洲三级在线免费| 精品久久国产字幕高潮| 欧美色图激情小说| 99久久精品免费看| 国产一区在线精品| 日韩二区三区在线观看| 亚洲另类中文字| 国产精品久久99| 国产精品系列在线| 国产日产欧美一区二区三区|