방법: 쿼리 결과 통한 향상된 성능을 위한 페이지

기술 자료 번역 기술 자료 번역
기술 자료: 318131 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 페이징 구현하는 방법에 대한 지침을 제공합니다. 이 문서에서는 몇 가지 예로는 페이징 제공하고 각 방법의 장점은 설명합니다.

페이징 구현 방법

페이징 많은 접근 방식이 있습니다. 페이징 일반적으로 아키텍처 문제입니다. 데이터베이스 디자인 및 레코드 수를 대부분 페이징 달려 페이지에 있습니다. 다음 방법 중 하나를 사용하여 페이징을 구현할 수 있습니다.
  • DataGrid 컨트롤에서 사용할 수 있는 내장 페이징을 사용하십시오. 이 메서드는 페이징 사용하기 쉬운 사용되며 페이지에 레코드 수가 적은 경우 잘 작동합니다. 그러나 레코드 개수를 늘리면 성능이 저하됩니다. Microsoft Visual Basic .NET 에서는 내장 페이징이 것입니다.페이징 구현하는 방법에 대한 자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
    305271방법: Visual Basic .NET 사용하여 DataGrid Windows 컨트롤 사용자 지정 페이지
  • 최대 성능 속도를 빠르게 하려면 쿼리 또는 레코드 수를 검색하기 위해 저장된 프로시저를 디자인하십시오. Custom Paging Sample 섹션에서는 사용자 지정 페이징을 구현하는 방법을 보여 줍니다.

    해당 TOP 사용할 수도 및 디자인 쿼리 또는 저장된 프로시저 레코드 수를 검색하는 SQL 문의 WHERE 절. 사용하는 방법에 대한 자세한 내용은 TOP 및 사용자 지정 구현하려면 WHERE 페이징, 다음 Microsoft 개발자 네트워크 (MSDN) 웹 사이트를 방문하십시오.
    통해 쿼리 결과 페이징
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconpagingthroughqueryresult.asp

사용자 지정 페이징 샘플

이 샘플에서는 DataGrid 컨트롤을 사용하여 ASP.NET 사용자 지정 페이징을 구현하는 방법을 보여 줍니다. 이 메서드를 사용하면 페이지 순서에 상관없이 원하는 레코드를 검색할 수 있습니다. 따라서 이 메서드는 매우 효율적이고 융통성 있습니다.

이 샘플은 데이터베이스에 인덱스가 있는 테이블 등이 필요합니다. 이 샘플은 Microsoft SQL Server 및 SQL Server Northwind 데이터베이스에 있지만 모든 데이터베이스를 사용하려면 이 샘플을 적응할 수 있습니다.
  1. 새 VBA ASP.NET 웹 응용 프로그램을 만들려면 다음과 같이 하십시오.
    1. Microsoft Visual Studio .NET 시작하십시오.
    2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트 를 클릭하십시오.
    3. 새 프로젝트 대화 상자의 프로젝트 형식Visual Basic 프로젝트 클릭한 다음 템플릿 에서 ASP.NET 웹 응용 프로그램 을 누릅니다.
  2. DataGrid 컨트롤을 도구 상자에서 WebForm1.aspx로 끕니다.
  3. DataGrid1 을 마우스 오른쪽 단추로 클릭한 다음 속성 작성기 를 클릭하십시오.
  4. 속성 작성기 대화 상자에서 다음 이 단계를 수행하십시오.
    1. 페이징 을 클릭하십시오.
    2. AllowPagingAllowCustomPaging 확인란을 선택합니다.
    3. PageSize 속성을 3 으로 설정하십시오.
    4. 모드 목록에서 페이지 번호 를 클릭하십시오.
    5. 적용 을 누른 다음 확인 을 누릅니다.
  5. HTML 소스 뷰를 열려면 WebForm1.aspx 아래쪽에 HTML 을 클릭하십시오. 다음 코드 사용하여 기본적으로 추가된 <asp:DataGrid> 태그 바꾸기:
    <asp:DataGrid id="Datagrid1" runat="server" AllowCustomPaging="True" PageSize="3" AllowPaging="True" PagerStyle-Mode="NumericPages" OnPageIndexChanged="DataGrid1_PageIndexChanged">
    </asp:DataGrid>
    					
  6. 코드 창 열기 WebForm1.aspx 페이지의 빈 영역을 두 번 클릭한 다음 페이지 맨 다음 네임스페이스를 추가합니다:
    Imports System.Data
    Imports System.Data.SqlClient
    					
  7. 공용 클래스 Webform1 에서 다음 선언을 추가합니다:
        Dim cn As SqlConnection
        Dim StartIndex As Integer
        Dim EndIndex As Integer
    					
  8. 폼의 Page_Load 이벤트에 다음 코드를 추가하여:
            Dim myCommand As SqlCommand
            cn = New SqlConnection("server = localhost; uid=userid; pwd=password; database=Northwind ")
            If Not IsPostBack Then
                myCommand = New SqlCommand()
                myCommand.CommandText = "Select Count(*) from Products"
                myCommand.Connection = cn
                cn.Open()
                DataGrid1.VirtualItemCount = myCommand.ExecuteScalar()
                cn.Close()
                BindDatagrid()
            End If
    					
  9. 다음 코드를 Page_Load 서브루틴을 후 추가:
         Sub BindDatagrid()
            Dim myAdapter As SqlDataAdapter
            Dim DS As DataSet
            EndIndex = StartIndex + DataGrid1.PageSize
            myAdapter = New SqlDataAdapter("Select * From Products Where ProductID > @startIndex And ProductID <= @endIndex Order by ProductID", cn)
            myAdapter.SelectCommand.Parameters.Add("@startIndex", StartIndex)
            myAdapter.SelectCommand.Parameters.Add("@endIndex", EndIndex)
            DS = New DataSet()
            myAdapter.Fill(DS)
            DataGrid1.DataSource = DS
            DataGrid1.DataBind()
        End Sub
    
        Public Sub datagrid1_PageIndexChanged(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs)
            StartIndex = (e.NewPageIndex * DataGrid1.PageSize)
            DataGrid1.CurrentPageIndex = e.NewPageIndex
            BindDatagrid()
        End Sub
    					
  10. 응용 프로그램을 실행하려면 F5 키를 누릅니다.
  11. 프로젝트를 테스트하려면 아래 표에 나열된 모든 페이지 번호를 선택하십시오.

속성

기술 자료: 318131 - 마지막 검토: 2014년 2월 12일 수요일 - 수정: 2.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
키워드:?
kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB318131 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com