NASıL YAPıLıR: daha iyi performans için bir sorgu sonucu sayfa

Makale çevirileri Makale çevirileri
Makale numarası: 318131 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede, disk belleği uygulanması konusunda yönergeler sağlar. Bu makalede, disk belleği birkaç örnekleri sağlar ve her yöntemi Avantajı'nı açıklar.

Implement sayfalamayı yöntemleri

Disk belleği için birçok yaklaşımlar vardır. Disk belleği, genellikle mimari çıkıştır. Büyük disk belleği bağlıdır, veritabanı tasarımını ve kaç kayıt sayfasına sahip. Disk belleği uygulamak için aşağıdaki yöntemlerden birini kullanabilirsiniz:
  • DataGrid denetiminde kullanılabilir sabit disk belleği kullanır. Bu yöntem, disk belleği kullanımı kolaydır ve iyi kayıt sayfasına küçük bir sayı olduğunda çalışır. Ancak, kayıt sayısını artırmak için performansı düşürür. Microsoft Visual Basic. NET'te, hiçbir sabit disk belleği yok.Disk belleği nasıl hakkında ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    305271NASıL YAPıLıR: Özel sayfa bir DataGrid Windows denetimini Visual Basic .NET kullanarak
  • Performansını hızlandırmak için <a0></a0>, sorgu veya saklı yordamlar, istediğiniz kayıt sayısını almak için tasarım. Custom Paging Sample bölümünde, özel bir disk belleği nasıl gösterir.

    TOP de kullanabilirsiniz ve tasarım sorguları veya istediğiniz kayıt sayısını almak için saklı yordamlar SQL deyiminizdeki WHERE yan tümcelerini. Nasıl kullanılacağı hakkında daha fazla bilgi için TOP ve WHERE özel uygulamak disk belleği, aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret:
    Disk belleği aracılığıyla bir sorgu sonucu
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconpagingthroughqueryresult.asp

Özel sayfalama örnek

Bu örnek, ASP.NET ile özel bir disk belleği uygulamak için bir DataGrid denetiminde kullanılacak gösterilmiştir. Bu yöntemi kullandığınızda, herhangi bir sayfa sırada istediğiniz kayıtları alabilirsiniz. Sonuç olarak, bu son derece etkili ve verimli yöntemdir.

Bu örnek, veritabanına, bir dizin olan tablolar eklemek gerekir. Bu örnek Microsoft SQL Server ve SQL Server Northwind veritabanı kullansa da, herhangi bir veritabanını kullanmak için bu örnek uyarlayabilirsiniz.
  1. Yeni bir Visual Basic ASP.NET Web uygulaması oluşturmak için şu adımları izleyin:
    1. Microsoft Visual Studio .NET'i başlatın.
    2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
    3. Yeni proje) iletişim kutusunda, Project Types altında Visual Basic Projects ' ı tıklatın ve ASP.NET Web uygulamasışablonları altında tıklatın.
  2. DataGrid denetimi, WebForm1.aspx için araç kutusundan sürükleyin.
  3. DataGrid1 ' ı sağ tıklatın ve sonra Özellik Oluşturucusu'nu tıklatın.
  4. Özellik Oluşturucu</a0> iletişim kutusunda aşağıdaki adımları izleyin:
    1. Disk belleği ' ı tıklatın.
    2. AllowPaging ve AllowCustomPaging onay kutularını tıklatıp seçin.
    3. PageSize özelliğini, 3 ' e ayarlayın.
    4. Mod listesinde Sayfa numaraları ' nı tıklatın.
    5. Uygula ' yı tıklatın ve sonra da Tamam ' ı tıklatın.
  5. HTML HTML kaynak görünümü açmak için WebForm1.aspx altındaki Ek Yardım düğmesini tıklatın. Aşağıdaki kodu ile birlikte varsayılan olarak, eklenen <asp:DataGrid> etiketi Değiştir:
    <asp:DataGrid id="Datagrid1" runat="server" AllowCustomPaging="True" PageSize="3" AllowPaging="True" PagerStyle-Mode="NumericPages" OnPageIndexChanged="DataGrid1_PageIndexChanged">
    </asp:DataGrid>
    					
  6. Kod penceresi açmak için WebForm1.aspx sayfasının boş bir alanı çift tıklatın ve sonra aşağıdaki ad boşlukları, sayfanın en üstüne ekleyin:
    Imports System.Data
    Imports System.Data.SqlClient
    					
  7. Ortak sınıf Webform1 altında aşağıdaki bildiriyi ekleyin:
        Dim cn As SqlConnection
        Dim StartIndex As Integer
        Dim EndIndex As Integer
    					
  8. Formun Page_Load olayı aşağıdaki kodu ekleyin:
            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 altyordam sonra aşağıdaki kodu ekleyin:
         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. Uygulamayı çalıştırmak için F5 tuşuna basın.
  11. Proje sınamak için <a0></a0>, ızgara listelenen herhangi bir sayfa numarası seçin.

Özellikler

Makale numarası: 318131 - Last Review: 2 Şubat 2014 Pazar - Gözden geçirme: 2.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB318131 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:318131

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