通过ADO.Net从DB中获取特定行

时间:2009-05-11 13:34:55

标签: .net

我有一张包含10条记录的表格。 我想从中获取第5行和第7行。 有没有办法在ADO.NET中实现这一点。

3 个答案:

答案 0 :(得分:1)

如果你的表真的那么小(即10行),为什么不只是检索所有10行,并迭代它们到达第5/7行......就直接选择它们来说......是你的表键。即什么决定第5行和第7行是什么?

您是否在查询中应用了ORDER BY ...

如果你想根据某个特定的顺序从顶部获得第7行,你可以做一些UGLY Like。

SELECT 
    Top 1 * 
FROM 
(
    SELECT 
        Top 7 * 
    FROM 
        TABLE ORDER BY 1 ASC
) as a
ORDER BY 1 DESC

或者,如果您正在使用SQL2005 / Oracle /另一个具有RowNumber()函数的DBMS,那么它也可以用于分页,那么它也可以工作,但它完全取决于表的结构,数据库是你的使用&你是如何检索这些信息的......

答案 1 :(得分:1)

通常,在返回查询时不会恢复特定行。这次你的第5行可能是某些特定数据,但可能随时更改,因为没有数据库引擎可以确保查询将返回该特定行,除非您可以使用where子句明确指定它。 在一个奇怪的情况下,你想要返回一个特定的行,这将根据你正在使用的数据库而改变(你可以在oracle中使用rownumber的组合,或者在sql server中使用top)。

答案 2 :(得分:0)

这在很大程度上取决于您使用的数据库类型。不同的数据库(如SQL Server和MySQL)有不同的处理“分页”的方法,这基本上就是你想要完成的。甚至不同版本(如SQL Server 2000)的方法也不同于2005年等等。

这是one source,可以帮助您开始理解概念和实现。这里another可能更接近你想要的东西。