主题    作 者   回复/查看    最后回复    回复时间    发表时间这个是通常一些论坛上显示的列
但是这些数据不能从一条查询语句查询出来(或许有但我写不出来)。
所以我就想了2种方式来显示上面的数据
1.  针对每一个列做一次查询 
    然后将每一次查询返回的集合。再放到一个总体的map里面。这样我也可以显示出数据
    这样在页面上取出map里面的数据也就能显示出来了。
2.  写一个储存过程能够一次查询出这样的一条数据。
    但是需要做循环来调用这个存储过程。然后将数据放到list里面前台使用现在就是不知道要选用哪种比较方便
第一种吧。感觉查询的次数太多,每个列基本上都要做一次查询。
第二种呢。又循环调用存储过程,这样会不会效率太低了啊?
希望各位给点意见呢!谢谢!
下面是存储过程drop proc proc_showBoard
go
create procedure proc_showBoard
@boardId int ,          --版块名称--
@topicCount int output, --发帖数--
@replyCount int output,   --回复数--
@boardName nvarchar(50) output,          --版块名称--
@pubTime datetime output,          --最后回复时间--
@pubPer nvarchar(50) output                   --最后回复人--
as
/*查询主贴总数*/
SELECT @topicCount = count(*) from  BBSTopic INNER JOIN BBSReply ON BBSTopic.topicId = BBSReply.topicId CROSS JOIN BBSChildBoard where BBSChildBoard.cbId = @boardId/*查询回帖总数 和子版块名字*/
select @replyCount =count(*),@boardName = cbname   from bbstopic inner join bbschildboard  on bbstopic.secchildid = bbschildboard.cbid where BBSChildBoard.cbId = @boardId group by bbschildboard.cbname/*查询最后回复人和回复时间*/
select top 1 @pubPer = bbsuserdate.realname,@pubTime=bbsreply.publishtime from bbsreply inner join bbstopic on  bbsreply.topicid =bbstopic.topicid cross join bbsuserdate  where bbstopic.secchildid=1 order by bbsreply.replyid 
go