Вернуть 5 лучших записей таблицы в наборе данных - PullRequest
2 голосов
/ 30 марта 2010

Я хочу вернуть 5 верхних записей таблицы в наборе данных для представления таблицы данных. Следующее не работает.

DataGridView.DataSource = DS.Tables("TABLENAME").Select("SELECT TOP 5")

Есть предложения?

Использование Visual Studio 2008 - VB.Net

Ответы [ 4 ]

3 голосов
/ 30 марта 2010

Если набор данных уже заполнен, вы можете использовать LINQ, чтобы взять первые 5 строк из таблицы. ( Более эффективный способ - обработать это в базе данных, однако .)

Dim rows = DS.Tables("Foo").Rows.Cast(Of DataRow)().Take(5)
1 голос
/ 30 марта 2010

Если вы используете SQL Server 2005 или более позднюю версию, вы можете использовать функцию ROW_NUMBER () для нумерации строк, а затем использовать:

DS.Tables("TABLENAME").Select("row_number <= 5")
1 голос
/ 30 марта 2010

Как насчет использования предложения TOP. Это предполагает, что вы используете SQL Server.

т.е. Select top 5 * from SomeTable

Если вы используете MySQL, существует ограничение пункт

Если вы используете Oracle lookup ROWNUM

0 голосов
/ 30 марта 2010

Выбор не работает так, взгляните на синтаксис .

То, что вы хотите сделать, это создать представление с вашей таблицей, отсортировать его и взять первые пять строк.

DataView view = DS.Tables[0];
view.Sort = "myColumn";
//Take first or last 5 rows.

Или, конечно, просто используйте «SELECT TOP 5 x from mytable» и вставьте его в таблицу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...