FROM
dbo.Community_GetContentItem(
@communityID,
@userID,
@currentDate) Content
JOIN Community_Faqs (nolock)
ON ContentPage_ID = Faq_ContentPageID
WHERE
ContentPage_ID = @contentPageID
注意由于要显示明细,这里我们读取了Faq_Answer和Faq_Reference列的实际值。这里我们在join连接Community_Faqs表时使用了nolock的选项,这将允许我们执行脏读取而不会有任何警告提示。(和数据库锁定机制有关)
每一个社区模块都有一个维护用的存储过程用来填充数据库中与模块运行关的信息设置内容。譬如我们要通过在Community_PageTypes中增加记录来注册页面类型:一条信息是关于显示FAQ列表的页面,另一条是显示单个FAQ详细信息的页面。为了遵循CSK一致的命名规则我们把这个存储过程叫做Community_MaintenanceInitializeFaqs,其中部分代码摘录如下:
IF NOT EXISTS (SELECT * FROM Community_PageTypes
WHERE pageType_Name='Faq Section')
BEGIN
INSERT Community_PageTypes
(
pageType_name,
pageType_description,
pageType_pageContent,
pageType_IsSectionType,
pageType_ServiceSelect
)
VALUES
(
'FAQ Section',
'Contains FAQs in a question and answer style format',