Gewusst wie: Seite durch ein Abfrageergebnis für verbesserte Leistung

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 318131 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel enthält Richtlinien zum zum Implementieren von Paging. Dieser Artikel enthält ein paar Beispiele für die Auslagerungsdatei und den Vorteil, jede Methode beschreibt.

Methoden zum Implementieren von Paging

Es gibt viele Ansätze zum Paging. Paging ist i. d. r. Architektur Problem. Paging größtenteils hängt von Ihren Datenbankentwurf und wie viele Datensätze müssen Seite. Sie können eine der folgenden Methoden zum Implementieren von Paging verwenden:
  • Verwenden Sie das systeminterne Paging, das in das DataGrid -Steuerelement verfügbar ist. Diese Methode der Auslagerung ist benutzerfreundlich und funktioniert gut, wenn eine kleine Anzahl von Datensätzen zur Seite. Jedoch verringert Leistung, wenn die Anzahl der Datensätze erhöhen. In Microsoft Visual Basic .NET dafür gibt es keine systeminternen Auslagerung.Weitere Informationen zum Implementieren von Paging finden Sie die Artikel der Microsoft Knowledge Base:
    305271So wird 's gemacht: Benutzerdefiniertes Paging DataGrid-Windows-Steuerelement mit Visual Basic .NET
  • Entwerfen Sie Abfragen oder gespeicherte Prozeduren, die Anzahl der Datensätze abzurufen, die Sie möchten, um die Leistung zu beschleunigen. Abschnitt Custom Paging Sample veranschaulicht, wie benutzerdefinierte Paginierung implementieren.

    Sie können auch die TOP und die WHERE-Klauseln in der SQL-Anweisung Entwurf Abfragen oder gespeicherte Prozeduren, die Anzahl der Datensätze abzurufen, die Sie möchten. Weitere Informationen zum Verwenden von TOP und WHERE benutzerdefinierte Paginierung implementieren, die folgenden Microsoft Developer Network (MSDN)-Website:
    Paging durch ein Abfrageergebnis
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconpagingthroughqueryresult.asp

Für benutzerdefinierte Paging

Dieses Beispiel veranschaulicht, wie ein DataGrid -Steuerelement verwenden, um benutzerdefiniertes Paging über ASP.NET implementieren. Wenn Sie diese Methode verwenden, können Sie die Datensätze abrufen, die in einer beliebigen Seitenreihenfolge sollen. Daher ist diese Methode sehr effiziente und vielseitiger.

Dieses Beispiel erfordert, dass die Datenbank Tabellen enthalten, die einen Index verfügen. Obwohl in diesem Beispiel Microsoft SQL Server und der SQL Server Northwind -Datenbank verwendet wird, können Sie dieses Beispiel mit einer Datenbank anpassen.
  1. Gehen Sie folgendermaßen eine neue Visual Basic ASP.NET Web-Anwendung erstellen vor:
    1. Starten Sie Microsoft Visual Studio .NET.
    2. Zeigen im Menü Datei auf neu , und klicken Sie dann auf Projekt .
    3. Klicken Sie im Dialogfeld Neues Projekt klicken Sie unter Projekttypen auf Visual Basic-Projekte , und klicken Sie dann unter Vorlagen auf ASP.NET-Webanwendung .
  2. Ziehen Sie ein DataGrid -Steuerelement aus der Toolbox auf WebForm1.aspx.
  3. Klicken Sie mit der rechten Maustaste auf DataGrid1 , und klicken Sie dann auf Eigenschaften-Generator .
  4. Gehen Sie im Dialogfeld Eigenschaftengenerator folgendermaßen vor:
    1. Klicken Sie auf der Auslagerungsdatei .
    2. Klicken Sie auf Kontrollkästchen AllowCustomPaging und AllowPaging .
    3. Legen Sie die PageSize -Eigenschaft auf 3 .
    4. Klicken Sie in der Liste Modus auf Seitenzahlen .
    5. Klicken Sie auf Übernehmen , und klicken Sie dann auf OK .
  5. Klicken Sie auf HTML am unteren Rand WebForm1.aspx, um die HTML-Quellansicht öffnen. Ersetzen Sie das <asp:DataGrid>-Tag, das standardmäßig mit den folgenden Code hinzugefügt wird:
    <asp:DataGrid id="Datagrid1" runat="server" AllowCustomPaging="True" PageSize="3" AllowPaging="True" PagerStyle-Mode="NumericPages" OnPageIndexChanged="DataGrid1_PageIndexChanged">
    </asp:DataGrid>
    					
  6. Doppelklicken Sie auf in einen leeren Bereich der Seite "WebForm1.aspx", um das Codefenster zu öffnen und fügen Sie die folgenden Namespaces dann am oberen Rand der Seite hinzu:
    Imports System.Data
    Imports System.Data.SqlClient
    					
  7. Fügen Sie folgende Deklaration unter Public Class Webform1 :
        Dim cn As SqlConnection
        Dim StartIndex As Integer
        Dim EndIndex As Integer
    					
  8. Fügen Sie folgenden Code im Page_Load -Ereignis des Formulars:
            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. Fügen Sie folgenden Code nach der Unterroutine 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. Drücken Sie [F5], um die Anwendung auszuführen.
  11. Markieren Sie zum Testen des Projekts Seitenzahl, die unterhalb des Rasters aufgeführt ist.

Eigenschaften

Artikel-ID: 318131 - Geändert am: Freitag, 7. Februar 2014 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
Keywords: 
kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB318131 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 318131
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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