Auswählen des zweiten Satzes von 20 Zeilen aus DataTable

8

Ich habe eine DataTable, die ich aus SQL-Tabelle mit den folgenden Beispielspalten

bevölkere
  • ID
  • Geben Sie
  • ein
  • Wert

Ich beziehe die DataTable mit Zeilen eines bestimmten Typs. Ich möchte die Zeilen 10 - 20 aus meiner resultierenden DataTable auswählen:

%Vor%

Im obigen Code habe ich das Haupt-SQL weggelassen, und derzeit habe ich keine Auswahl für mein DataRow-Array. Ich kann keine Möglichkeit finden, die Zeilennummern zu referenzieren.

Zum Beispiel suche ich nach etwas wie Select("rownum > X && rownum < Y")

Ich habe hier gesucht, und eine Reihe anderer Ressourcen ohne Erfolg. Irgendwelche Hinweise wären wirklich praktisch, oder einfach nur nicht möglich.

    
DMckendrick 05.02.2013, 21:51
quelle

2 Antworten

14

Es ist immer besser, nur das zu wählen, was Sie von der Datenbank brauchen (z. B. mit der TOP -Klausel oder einer Fensterfunktion wie ROW_NUMBER ), anstatt sie im Speicher zu filtern.

Sie können jedoch Linq-To-DataSet und Enumerable.Skip + Enumerable.Take :

verwenden %Vor%

Wenn Sie ein neues DataTable aus dem gefilterten Ergebnis wollen, verwenden Sie CopyToDataTable , wenn Sie ein DataRow[] verwenden wollen rows.ToArray() .

    
Tim Schmelter 05.02.2013, 21:54
quelle
5

Ich würde einfach den Befehl 'take' und 'skip' machen und es einfach halten:

%Vor%

Dies würde voraussetzen, dass Sie den Linq using set (mit System.Linq) verwenden

    
djangojazz 05.02.2013 21:56
quelle

Tags und Links