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

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

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

2019-11-18 20:35:14
字體:
來源:轉載
供稿:網友
/*************************************************************************/
/* */
/* PRocedure : up_GetPostedTopicList */
/* */
/* 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_GetPostedTopicList'))
drop proc up_GetPostedTopicList
go

create proc up_GetPostedTopicList
@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 posted=1 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 posted=1 and forumid=@a_intForumID
order by id desc

/*結束rootID*/
set @intRowCount = @a_intPageNo * @a_intPageSize
/*限制條數*/
set rowcount @intRowCount
select @intEndID = rootid from bbs where posted=1 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 posted=1 and Forumid=@a_intForumID and a.rootid between @intEndID and @intBeginID
order by a.rootid desc , a.ordernum desc
return(@@rowcount)
--select @@rowcount
go
select id , rootid , fatherid , forumid , posted from bbs
up_getpostedtopiclist 3 ,1 , 20
/*************************************************************************/
/* */
/* procedure : up_GetTopic */
/* */
/* Description: 取貼子 */
/* */
/* Parameters: @a_intTopicID : 貼子id */
/* */
/* Use table: bbs */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/2/16 */
/* */
/* History: */
/* */
/*************************************************************************/
if exists(select * from sysobjects where id = object_id('up_GetTopic'))
drop proc up_GetTopic
go

create proc up_GetTopic @a_intTopicID int
as
/*如果沒有這貼子*/
if not exists (select * from bbs where id = @a_intTopicID)
return (-1)

/*更新該貼的點擊數*/
update bbs set hits = hits + 1 where id = @a_intTopicID

select a.* , 'Bytes' = datalength(a.content) ,
b.UserName , b.Email , b.Homepage , b.point , b.Signature
from bbs as a join BBSUser as b on a.UserID = b.id
where a.id = @a_intTopicID
go

up_getTopic 11

/*************************************************************************/
/* */
/* procedure : up_DeleTopic */
/* */
/* Description: 刪除貼子及子貼,更新發貼人信息 */
/* */
/* Parameters: @a_intTopicID : 貼子id */
/* */
/* Use table: bbs */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/2/24 */
/* */
/* History: */
/* */
/*************************************************************************/

if exists(select * from sysobjects where id = object_id('up_DeleTopic'))
drop proc up_DeleTopic
go

create proc up_DeleTopic @a_intTopicID int
as

/*定義局部變量*/
declare @intRootID int
declare @intLayer int
declare @floatOrderNum float(53)
declare @floatNextOrderNum float(53)
declare @intCounts int
declare @intForumID int

/*取消計數*/
set nocount on

/*首先查找這個貼子的rootid和ordernum,沒有則返回*/
select @intRootID = RootID ,
@floatOrderNum = OrderNum ,
@intLayer = layer ,
@intForumID = forumid
from bbs where id = @a_intTopicID
if @@rowcount = 0
return (-1)

/*取下一個同層貼子的ordernum*/
select @FloatNextOrderNum = isnull(max(ordernum) , 0)
from bbs
where RootID=@intRootID
and layer=@intLayer and ordernum < @floatOrderNum

/*多表操作,用事務*/
begin transaction

/*首先刪貼*/

delete from bbs
where rootid=@intRootID and ordernum > @floatNextOrderNum
and ordernum <= @floatOrderNum
select @intCounts = @@rowcount
if (@@error != 0)
goto Error



/*論壇貼子數減少*/
update forum set topiccount = topiccount - @intCounts where id=@intForumID
if (@@error != 0)
goto Error

/*完成事務,返回*/
commit transaction
set nocount off
return(0)

Error:
rollback transaction
set nocount off
return (-1)
go

select forumid from bbs
update bbs set forumid=4

/*************************************************************************/
/* */
/* procedure : up_GetUserInfo */
/* */
/* Description: 取得發貼人信息 */
/* */
/* Parameters: @a_strUserName : 用戶筆名 */
/* */
/* Use table: bbsuser */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/4/16 */
/* */
/* History: */
/* */
/*************************************************************************/
if exists(select * from sysobjects where id = object_id('up_GetUserInfo'))
drop proc up_GetUserInfo
go

create proc up_GetUserInfo @a_strUserName varchar(20)
as
declare @m_intOrder int --排名
declare @m_intPoint int --積分

set nocount on

/*如果沒有找到該用戶,則返回-1*/
select @m_intPoint = point from bbsuser where username=@a_strUserName
if(@@rowcount = 0)
return(-1)

/*求排名*/
select @m_intOrder = count(*) + 1 from bbsuser where point > @m_intPoint

select * , 'order' = @m_intOrder from bbsuser where username=@a_strUserName

set nocount off
go
up_getuserinfo '廖家遠'

/*************************************************************************/
/* */
/* procedure : up_PostedTopic */
/* */
/* Description: 將貼子轉入精華區 */
/* */
/* Parameters: @a_intTopicID 貼子id */
/* */
/* Use table: bbs, postedtopic */
/* */
/* Author: bigeagle@163.net */
/* */
/* Date: 2000/4/17 */
/* */
/* History: */
/* */
/*************************************************************************/

if exists(select * from sysobjects where id= object_id('up_postedtopic'))
drop proc up_postedtopic
go

create proc up_PostedTopic @a_intTopicID int
as
/*定義局部變量*/
declare @m_intUserID int --發貼人ID

/*查找是否有這個貼子*/
select @m_intUserID = userid from bbs where id = @a_intTopicID
if(@@rowcount != 1)
return -1

/*因為對兩個表操作所以用事務*/
begin transaction
update bbs set posted = 1 where id = @a_intTopicID
if(@@error <> 0)
goto Error
update bbsuser set point = point + 3 where id = @m_intUserID
if(@@error <> 0)
goto Error
Commit transaction
return (0)
Error:
rollback transaction
go



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲网站视频福利| 日韩在线中文字幕| 国产精品欧美日韩| 操91在线视频| 日韩在线一区二区三区免费视频| 久久久久日韩精品久久久男男| 国产偷国产偷亚洲清高网站| 91精品国产91久久久久久不卡| 欧洲午夜精品久久久| 97视频色精品| 国产精品美女主播在线观看纯欲| 亚洲精选在线观看| 亚洲女人天堂网| 琪琪第一精品导航| 亚洲一区二区三区久久| 亚洲人在线观看| 91超碰caoporn97人人| 亚洲综合日韩中文字幕v在线| 亚洲第一页在线| 欧美日韩综合视频| 日本三级久久久| 国产日韩欧美在线播放| 欧美日韩一区二区精品| 久久精品国产一区二区电影| 亚洲精品女av网站| 国产精品九九久久久久久久| 69**夜色精品国产69乱| 国产成人+综合亚洲+天堂| 亚洲丁香婷深爱综合| 亚洲aaa激情| 欧美一级大片视频| 亚洲欧洲日产国码av系列天堂| 久久免费国产视频| 中文字幕精品一区久久久久| 中国日韩欧美久久久久久久久| 这里只有精品在线播放| 亚洲欧美日本精品| 久久精品国产成人| 亚洲国产日韩欧美在线图片| 久久久久成人精品| 91九色视频在线| 中文字幕日韩欧美在线视频| 日韩欧美精品网站| …久久精品99久久香蕉国产| 久久久91精品国产一区不卡| 欧美一级淫片videoshd| 亚洲第一精品夜夜躁人人躁| 九九综合九九综合| 亚洲精品成a人在线观看| 国产精品jvid在线观看蜜臀| 久久久av免费| 亚洲欧美国产精品va在线观看| 国产成人精品日本亚洲专区61| 久久久中文字幕| 国产福利精品视频| 国产91精品黑色丝袜高跟鞋| 欧美激情2020午夜免费观看| 亚洲精品视频二区| 国产精品精品一区二区三区午夜版| 亚洲韩国青草视频| 精品久久久香蕉免费精品视频| 91精品视频免费看| 国产欧亚日韩视频| 欧美老女人www| 欧美色另类天堂2015| 欧美做爰性生交视频| 久久影视免费观看| 欧美高清一级大片| 国产精品中文字幕久久久| 美女国内精品自产拍在线播放| 狠狠色狠色综合曰曰| 亚洲午夜国产成人av电影男同| 亚洲精品久久久久久久久久久久| 久久九九亚洲综合| 国产婷婷97碰碰久久人人蜜臀| 日韩av网站电影| 日韩欧美国产中文字幕| 青草成人免费视频| 亚洲美女视频网站| 免费av在线一区| 日韩精品欧美激情| 97久久超碰福利国产精品…| y97精品国产97久久久久久| 精品性高朝久久久久久久| 在线精品国产成人综合| 欧美第一页在线| 久久韩剧网电视剧| 中文字幕欧美精品在线| 午夜精品久久久久久久99黑人| 欧美日本黄视频| 欧美在线视频一区| 欧美一区三区三区高中清蜜桃| 91在线观看免费网站| 日本免费久久高清视频| 日本久久中文字幕| 国产日韩欧美日韩| 欧美性xxxx极品hd满灌| 欧美高清videos高潮hd| 日韩欧美中文免费| 亚洲精品wwwww| 色诱女教师一区二区三区| 久久精品成人一区二区三区| 精品国产成人av| 亚洲人精品午夜在线观看| 国产精品日日做人人爱| 亚洲一区中文字幕在线观看| 久久伊人91精品综合网站| 国产美女精品免费电影| 亚洲国产精品久久精品怡红院| 国产一区二区久久精品| 亚洲精品永久免费精品| 亚洲成人av中文字幕| 久久影院资源站| 久久精品国产91精品亚洲| 日韩小视频在线观看| 国产亚洲激情在线| 久久久久久久成人| 欧美亚洲在线播放| 欧美激情一区二区三区在线视频观看| 欧美精品在线观看| 国产精品91久久久久久| 在线日韩日本国产亚洲| 日韩av网站导航| 在线电影av不卡网址| 久久久久久久久久久免费| 一本色道久久88综合亚洲精品ⅰ| 日韩毛片中文字幕| 91国产一区在线| 国产精品人人做人人爽| 欧美一级片一区| 亚洲人成在线免费观看| 日韩激情av在线播放| 国产在线拍偷自揄拍精品| 国产精品视频自拍| 国产精品白嫩美女在线观看| 久久久久久一区二区三区| 91精品国产91久久久久久| 成人免费午夜电影| 97人人爽人人喊人人模波多| 川上优av一区二区线观看| 日韩精品免费在线播放| 日韩经典一区二区三区| 久久久久久久影院| 色偷偷亚洲男人天堂| 欧美日韩一二三四五区| 91视频免费网站| 久久久999成人| 一区二区三区四区精品| 久久久av亚洲男天堂| 国产婷婷97碰碰久久人人蜜臀| 国产精品一区二区三| 亚洲电影免费观看高清完整版在线| 亚洲成人网在线| 亚洲国产成人久久综合一区| 91视频国产一区| 国产精品91视频| 成人信息集中地欧美| 亚洲欧美日本另类| 色综合久久88| 欧美麻豆久久久久久中文| 久久九九国产精品怡红院| 亚洲最大福利视频| 日韩精品中文字幕视频在线| 日韩视频免费大全中文字幕|