13. 게시판의 글 검색의 결과 페이지인 BoardList.aspx에서 사용할 저장 프로시저 구문을 다음과 같이 작성한다.
▼ /dbo/Stored Procedures/DotNetNote/SearchNotes.sql
--[9] 게시판(DotNetNote)에서 데이터 검색 리스트 : SearchNotes
Create Procedure dbo.SearchNotes
@Page Int,
@SearchField NVarChar(25),
@SearchQuery NVarChar(25)
As
With DotNetNoteOrderedLists
As
(
Select
[Id], [Name], [Email], [Title], [PostDate],
[ReadCount], [Ref], [Step], [RefOrder], [AnswerNum],
[ParentNum], [CommentCount], [FileName], [FileSize],
[DownCount],
ROW_NUMBER() Over (Order By Ref Desc, RefOrder Asc)
As 'RowNumber'
From Notes
Where (
Case @SearchField
When 'Name' Then [Name]
When 'Title' Then Title
When 'Content' Then Content
Else
@SearchQuery
End
) Like '%' + @SearchQuery + '%'
)
Select
[Id], [Name], [Email], [Title], [PostDate],
[ReadCount], [Ref], [Step], [RefOrder],
[AnswerNum], [ParentNum], [CommentCount],
[FileName], [FileSize], [DownCount],
[RowNumber]
From DotNetNoteOrderedLists
Where RowNumber Between @Page * 10 + 1 And (@Page + 1) * 10
Order By Id Desc
Go
이상으로 테이블 및 저장 프로시저로 구성된 완성형 게시판 관련 스크립트를 모두 만들었다. SQL Server 데이터베이스 프로젝트에서 게시 메뉴를 통해 원하는 데이터베이스로 게시한다. 앞에서 작성한 쿼리문은 내가 ASP.NET 초기 버전 때부터 사용하던 구문이다. SQL Server 2014, 2016 전용 등 최신 쿼리문으로 구문을 변경해서 사용해도 된다.