如果在Community Server 中直接调用存储过程发表新帖子
在论坛里面添加新帖子会调用存储过程:cs_Post_CreateUpdate
cs_Post_CreateUpdate 的各个参数的含义如下:
(
@SectionID int, --所在板块的ID
@ParentID int, --如果为添加新帖子,则为0
@AllowDuplicatePosts bit, --是否允许重复
@DuplicateIntervalInMinutes int = 0, --如果不允许重复,在该时间间隔内有效
@Subject nvarchar(256), --帖子标题
@UserID int, --用户ID
@PostAuthor nvarchar(64) = null,--用户昵称
@Body ntext, --正文
@FormattedBody ntext, --格式化的正文,可能需要格式化html标记(?)
@EmoticonID int = 0, --表情ID
@IsLocked bit, --是否锁定主题,不让回复
@IsSticky bit, --(?待研究)
@IsApproved bit = null, --是否自动通过批准
@StickyDate datetime, --(?待研究)
@PostType int = 0,--帖子类型
@PostDate datetime = null, --提交日期
@UserHostAddress nvarchar(32), --用户IP地址
@PropertyNames ntext = null, --帖子的附加属性
@PropertyValues ntext = null, --帖子的附加属性值
@SettingsID int, --(?待研究)目前取值为1000
@IsTracked bit = 0, --是否追踪
@PostID int out, --帖子ID,输出值
@ThreadID int=0 out, --主题ID,输出值
@PostConfiguration int = 0,--帖子配置信息(?待研究)
@UpdateSectionStatistics bit = 1 --是否更新板块状态
)
例子:
DECLARE @tmpStickyDate datetime
DECLARE @tmpPostDate datetime
select @tmpStickyDate = getDate()
select @tmpPostDate = getDate()
exec cs_Post_CreateUpdate
@SectionID=3,
@ParentID=0,
@AllowDuplicatePosts=1,
@DuplicateIntervalInMinutes=0,
@Subject='rest',
@UserID=2105,
@PostAuthor='TalkStudy',
@Body='have a rest!',
@FormattedBody='have a rest!',
@EmoticonID=0,
@IsLocked=0,
@IsSticky=0,
@IsApproved=null,
@StickyDate=@tmpStickyDate,
@PostType=1,
@PostDate=@tmpPostDate,
@UserHostAddress='127.0.0.1',
@PropertyNames=null,
@PropertyValues=null,
@SettingsID=1000,
@IsTracked=0,
@PostID=0,
@ThreadID=0,
@PostConfiguration=0,
@UpdateSectionStatistics=1
go