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

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

bbs的數據結構和存儲過程(二)

2019-11-18 20:35:23
字體:
來源:轉載
供稿:網友
/*************************************************************************/
/* */
/* PRocedure : up_GetForumList */
/* */
/* Description: 取得版面列表 */
/* */
/* Parameters: None */
/* */
/* Use table: forum , bbsuser */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/2/10 */
/* */
/* History: */
/* */
/*************************************************************************/
if exists(select * from sysobjects where id = object_id('up_GetForumList'))
drop proc up_GetForumList
go

create proc up_GetForumList
as
select a.id , a.rootid , a.fatherid , a.layer , a.title , a.topiccount , a.description ,
'UserID'=b.id , b.UserName , b.Email , b.Homepage , b.Signature
from forum as a join BBSUser as b on a.Masterid=b.ID order by rootid , layer
go
select id , title , rootid from forum
up_getforumlist


/*************************************************************************/
/* */
/* procedure : up_InsertForum */
/* */
/* Description: 新建版面 */
/* */
/* Parameters: @a_strName : 版面名稱 */
/* @a_strDescription: 版面描述 */
/* @a_intFatherID: 分類ID,如果是0說明是大分類 */
/* */
/* Use table: forum */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/4/23 */
/* */
/* History: */
/* */
/*************************************************************************/
if exists(select * from sysobjects where id = object_id('up_InsertForum'))
drop proc up_InsertForum
go

create proc up_InsertForum @a_strName varchar(50) , @a_strDescription varchar(255) , @a_intFatherID tinyint
as
/*定義局部變量*/
declare @intLayer tinyint
declare @intRootID tinyint

/*如果是版面并且沒有指定分類,則返回-1*/
if(@a_intFatherID <> 0 and not exists(select * from forum where id = @a_intFatherID))
return(-1)

/*根據@a_intFatherID計算layer , rootid*/
if(@a_intFatherID = 0)
begin
select @intLayer = 0
select @intRootID = 0
end
else
begin
select @intLayer = 1
select @intRootID = @a_intFatherID
end

Insert into Forum(rootid , layer , fatherid , title , description)
values(@intRootID , @intLayer , @a_intFatherID , @a_strName , @a_strDescription)
if (@a_intFatherID = 0)
begin
select @intRootID = @@identity
update Forum set rootid = @intRootID where id = @intRootID
end
go

/*************************************************************************/
/* */
/* procedure : up_DeleteForum */
/* */
/* Description: 刪除版面 */
/* */
/* Parameters: @a_intForumID : 版面id */
/* */
/* Use table: forum */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/4/23 */
/* */
/* History: */
/* */
/*************************************************************************/
if exists(select * from sysobjects where id = object_id('up_DeleteForum'))
drop proc up_DeleteForum
go

create proc up_DeleteForum @a_intForumID tinyint
as
delete from Forum where id = @a_intForumID
delete from Forum where RootID = @a_intForumID
go

select id , title , rootid , fatherid from forum

/*************************************************************************/
/* */
/* procedure : up_PostTopic */
/* */
/* Description: 發貼子 */
/* */
/* Parameters: @a_intForumID : 版面id */
/* @a_intFatherID: 父貼ID,如果是新主題為0 */
/* @a_strSubject: 標題 */
/* @a_strContent: 內容 */
/* @a_intUserID: 發貼人ID */
/* @a_intFaceID: 表情ID */
/* @a_strIP: 發貼人IP */
/* */
/* Use table: bbs , forum , bbsuser */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/2/13 */
/* */
/* History: */
/* */
/*************************************************************************/
if exists(select * from sysobjects where id = object_id('up_PostTopic'))
drop proc up_PostTopic
go

create proc up_PostTopic
@a_intForumID int ,
@a_intFatherID int ,
@a_strSubject varchar(255) ,
@a_strContent text ,
@a_intUserID int ,
@a_intFaceID int ,
@a_strIP varchar(255)
as
/*定義局部變量*/
declare @intRootID int --根id
declare @dblOrderNum float(53) --排序基數
declare @intLayer int --層
declare @dblNextOrderNum float(53) --下一回貼的ordernum

/*判斷有沒有這個版面*/
if not exists(select * from forum where id = @a_intForumID)
return(-1)

/*判斷新貼子還是回應貼子*/
if (@a_intFatherID = 0) --根貼
begin
select @intRootID = isnull(max(id) , 0) + 1 from bbs
select @dblOrderNum = 9e+24
select @intLayer = 1
end
else --回貼
begin
select @intRootID = rootid , @intLayer = layer + 1 , @dblOrderNum = ordernum
from bbs where id = @a_intFatherID

/*如果沒找到父貼則返回錯誤*/
if (@@rowcount = 0) return -1

/*計算ordernum*/
select @dblNextOrderNum = isnull(max(ordernum), 0)
from bbs where ordernum < @dblOrderNum and rootid=@intRootID
select @dblOrderNum = (@dblOrderNum + @dblNextOrderNum) / 2
end

/*由于對兩個表操作,用事務*/
Begin transaction
/*插入貼子*/
insert into bbs(RootID , FatherID , Layer , OrderNum , UserID , ForumID ,
Subject , Content , FaceID , IP)
values(@intRootID , @a_intFatherID , @intLayer , @dblOrderNum ,
@a_intUserID , @a_intForumID ,
@a_strSubject , @a_strContent , @a_intFaceID , @a_strIP)
/*判斷是否成功*/
if (@@error != 0) goto OnError

/*更新版面貼子數*/
update forum set topiccount = topiccount + 1 where id = @a_intForumID
if (@@error != 0) goto OnError

/*更新用戶分數*/
update BBSUser set point = point + 1 where id = @a_intUserID
if (@@error !=0) goto OnError

/*執行*/
commit transaction
return(0)

/*錯誤處理*/
OnError:
rollback transaction
return(-1)


go
select id from bbs where fatherid=0 order by rootid desc, ordernum desc
up_posttopic 1 , 12 , '哈哈哈,見笑了' , 'hello , world' , 1 , 1 , '203.93.95.10'

/*************************************************************************/
/* */
/* procedure : up_GetTopicList */
/* */
/* Description: 貼子列表 */
/* */
/* Parameters: @a_intForumID : 版面id */
/* @a_intPageNo: 頁號 */
/* @a_intPageSize: 每頁顯示數,以根貼為準 */
/* */
/* Use table: bbs , forum */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/2/14 */
/* */
/* History: */
/* */
/*************************************************************************/
if exists(select * from sysobjects where id = object_id('up_GetTopicList'))
drop proc up_GetTopicList
go

create proc up_GetTopicList
@a_intForumID int ,
@a_intPageNo int ,
@a_intPageSize int
as
/*定義局部變量*/
declare @intBeginID int
declare @intEndID int
declare @intRootRecordCount int
declare @intPageCount int
declare @intRowCount int
/*關閉計數*/
set nocount on

/*檢測是否有這個版面*/
if not exists(select * from forum where id = @a_intForumID)
return (-1)

/*求總共根貼數*/
select @intRootRecordCount = count(*) from bbs where fatherid=0 and forumid=@a_intForumID
if (@intRootRecordCount = 0) --如果沒有貼子,則返回零
return 0

/*判斷頁數是否正確*/
if (@a_intPageNo - 1) * @a_intPageSize > @intRootRecordCount
return (-1)

/*求開始rootID*/
set @intRowCount = (@a_intPageNo - 1) * @a_intPageSize + 1
/*限制條數*/
set rowcount @intRowCount
select @intBeginID = rootid from bbs where fatherid=0 and forumid=@a_intForumID
order by id desc

/*結束rootID*/
set @intRowCount = @a_intPageNo * @a_intPageSize
/*限制條數*/
set rowcount @intRowCount
select @intEndID = rootid from bbs where fatherid=0 and forumid=@a_intForumID
order by id desc

/*恢復系統變量*/
set rowcount 0
set nocount off

select a.id , a.layer , a.forumid , a.subject , a.faceid , a.hits , a.time , a.UserID , a.fatherid , a.rootid ,
'Bytes' = datalength(a.content) , b.UserName , b.Email , b.HomePage , b.Signature , b.Point
from bbs as a join BBSUser as b on a.UserID = b.ID
where Forumid=@a_intForumID and a.rootid between @intEndID and @intBeginID
order by a.rootid desc , a.ordernum desc
return(@@rowcount)
--select @@rowcount
go
up_getTopiclist 3 , 1 , 20
select * from bbs where fatherid=0 order by id desc
select * from bbsuser



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成av人乱码色午夜| 日韩精品视频三区| 欧美精品在线看| 国产日韩在线精品av| 欧美日韩国产精品| 精品久久久久久久久久久久久久| 国产日韩欧美在线视频观看| 久久最新资源网| 欧美精品videos另类日本| …久久精品99久久香蕉国产| 国产精品香蕉国产| 久久成人这里只有精品| 在线视频欧美性高潮| 久久精品视频在线观看| 欧美性感美女h网站在线观看免费| 欧美日韩午夜剧场| 久久久久久有精品国产| 久久久久久久久久亚洲| 日韩精品免费在线视频观看| 国产一区二区三区精品久久久| 亚洲午夜女主播在线直播| 成人福利视频在线观看| 欧美中文在线免费| 日韩电影第一页| 欧美电影免费观看电视剧大全| 亚洲第一男人天堂| 亚洲一区二区三区久久| 欧美综合激情网| 欧美激情一区二区久久久| 91手机视频在线观看| 97avcom| 午夜精品免费视频| 久久久久国产精品免费网站| 日韩电影中文 亚洲精品乱码| 亚洲第一精品电影| 另类美女黄大片| 亚洲天堂日韩电影| 97久久精品视频| 清纯唯美日韩制服另类| 日本成人精品在线| 国产日韩精品在线播放| 国产精品久久久久久一区二区| 欧美综合激情网| 久久999免费视频| 日日骚久久av| 国产精品视频专区| 久久精品美女视频网站| 国产精品福利在线| 欧美视频在线观看免费网址| 狠狠爱在线视频一区| 97视频在线观看网址| 国外成人免费在线播放| 欧美最猛性xxxxx(亚洲精品)| 日本国产精品视频| 2019中文字幕在线| 亚洲а∨天堂久久精品喷水| 色狠狠久久aa北条麻妃| 国产精品网址在线| 日韩性生活视频| 日韩精品欧美激情| 欧美精品videofree1080p| 91久久久久久| 久久成年人免费电影| 97视频人免费观看| 中文国产成人精品| 国产精品久久久久久久久久东京| 国产欧美精品日韩| 中文字幕精品一区久久久久| 亚洲欧美在线看| 欧美成人午夜激情在线| 精品国产一区av| 欧美放荡办公室videos4k| 亚洲一区二区三区777| 国产中文字幕日韩| 国产精品成人aaaaa网站| 日韩视频中文字幕| 久久精品视频导航| 日韩av在线电影网| 黑人巨大精品欧美一区二区| 日韩av电影手机在线| 国产免费成人av| 另类天堂视频在线观看| 亚洲精品在线看| 亚洲男人的天堂在线| 久久影视三级福利片| 高潮白浆女日韩av免费看| 国产成人av网址| 精品久久久久久久久久ntr影视| 日韩美女在线观看一区| 国产精品久久久久久久久久ktv| 91亚洲国产成人久久精品网站| 一区三区二区视频| 国产精品v片在线观看不卡| 国产欧美日韩综合精品| 国产精品成人国产乱一区| 亚洲国产精品va在线看黑人动漫| 性亚洲最疯狂xxxx高清| 久久五月情影视| 日韩精品免费电影| 夜夜嗨av一区二区三区免费区| 国产精品午夜国产小视频| 亚洲第一网站免费视频| 日韩有码片在线观看| 国内精品久久久久| 亚洲国产私拍精品国模在线观看| 欧美成人午夜免费视在线看片| 91午夜在线播放| 欧美主播福利视频| 国产精品老牛影院在线观看| 91九色在线视频| 日韩av免费在线| 亲爱的老师9免费观看全集电视剧| 992tv在线成人免费观看| 美日韩在线视频| 日日噜噜噜夜夜爽亚洲精品| 日韩一级裸体免费视频| 精品久久在线播放| 1769国内精品视频在线播放| 精品视频9999| 亚洲在线视频观看| 69久久夜色精品国产69乱青草| 91精品国产自产91精品| 一本色道久久88综合日韩精品| 国产成人一区三区| 欧美日韩另类字幕中文| 亚洲一区二区中文字幕| 亚洲自拍av在线| 九九精品视频在线观看| 日韩精品中文字幕在线观看| 日韩精品免费看| 欧美日韩在线免费观看| 久久久久久久久综合| 欧美理论电影在线观看| 亚洲国产91精品在线观看| 高潮白浆女日韩av免费看| 一区二区三区黄色| 亚洲国产欧美久久| 欧美成人小视频| 亚洲人成在线免费观看| 日本一本a高清免费不卡| 久久久久久综合网天天| 欧美肥臀大乳一区二区免费视频| 精品国产福利视频| 中文字幕亚洲欧美日韩在线不卡| 午夜精品一区二区三区av| 欧美日韩午夜视频在线观看| 亚洲新中文字幕| www国产91| 日韩av大片在线| 这里只有精品在线播放| xxav国产精品美女主播| 国产成人精品日本亚洲专区61| 亚洲午夜精品视频| 国产一区二区三区四区福利| 在线观看精品国产视频| 国产亚洲精品va在线观看| 日韩亚洲精品视频| 在线播放亚洲激情| 亚洲毛片在线免费观看| 日韩在线播放av| 91欧美精品成人综合在线观看| 久久天天躁夜夜躁狠狠躁2022| 欧美又大又硬又粗bbbbb| 亚洲欧美激情视频|