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 전용 등 최신 쿼리문으로 구문을 변경해서 사용해도 된다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.