Ich habe eine Tabellenstruktur wie (OrderID [uniqueidentifier], OrderDescription [nvarchar]), ich benutze ADO.Net + C # + VSTS 2008 + SQL Server 2008. Die Tabelle ist groß, und ich möchte den Client mir geben lassen zwei Eingaben, beginnen Bereichsindex und Endbereichsindex, und ich werde bestimmte Zeilen der Tabelle zurückgeben, die in dem Bereich (zwischen Beginn Bereich Index und Endbereich Index) ist.
Zum Beispiel, wenn der Client mir 50, 100 eingibt, und ich möchte die 50. Zeile bis zur 100. Zeile zurückgeben.
danke im voraus, George
Sie können ROW_NUMBER
in TSQL (ab 2005) dazu verwenden:
Oder mit LINQ-to-SQL usw.:
%Vor%Im Grunde ist Ihre beste Wette in SQL Server 2005 und 2008 ein CTE - Common Table Expression - mit einer ROW_NUMBER () - Funktion - etwa so:
%Vor% Aber das erfordert eine nützliche und geeignete ORDER BY
-Klausel, und das Bestellen durch eine GUID ist wirklich keine gute Idee. DATETIME oder eine ständig steigende ID wäre am besten.
Marc
Tags und Links .net c# sql-server-2008 ado.net