Groups | Blog | Home
all groups > dotnet ado.net > november 2004 >

dotnet ado.net : Select Top 10 from a DateTable???


vl_yes NO[at]SPAM hotmail-dot-com.no-spam.invalid
11/12/2004 1:57:11 PM
Hi! I want to select only 10 rows from a dataTable each time, just as
from a database("SELECT TOP 10 FROM orders WHERE ID <100 ORDER BY
ID"). for example:

DataTable myTable = new DataTable("orders");
DataRow[] rows = myTable.Select("TOP 10 ID < 100");
1)How can I write the correct statement.
2)Can I ues "TOP" key word or there's other way to do it?
P.S. I mean from a dataTable.

Thank you very much. :shock:

*-----------------------*
Posted at:
www.GroupSrv.com
Rich
11/12/2004 2:23:01 PM
Not sure if this is the best option, but you could always just grunt it out
the old-fashioned way:

Dim dr(9) as DataRow
Dim i as integer
for i=0 to 9
dr(i)=DataTable.Rows(i)
next i

....or whatever the C# equivalent woud be


[quoted text, click to view]
JuLiE Dxer
11/13/2004 4:31:32 AM
Is it feasible for you to just iterate through the DataTable grabbing
the first ten Rows from the DataTable's DataRowCollection object ?

perhaps,


DataRow[] rows = new DataRow[10];

for (int i=0 ; i < 10 ; i++)
{
rows[ i ] = myTable.Rows[ i ];
}


providing there isn't less than 10 rows present in your DataTable
object.



On 12 Nov 2004 13:57:11 -0600, vl_yes@hotmail-dot-com.no-spam.invalid
[quoted text, click to view]
Miha Markic [MVP C#]
11/13/2004 9:09:44 AM
Hi,

You should first create a DataView over the table using RowFilter = "Id<100"
and Sort = "ID" and then you should do a for loop
for (int i=0; i<9; i++)
{
DataRow rv = dv[i].Row;
}

Once you have a row, do as others suggested.

--
Miha Markic [MVP C#] - RightHand .NET consulting & development
SLODUG - Slovene Developer Users Group
www.rthand.com

[quoted text, click to view]

AddThis Social Bookmark Button