如何跳过sqldatareader中的第一行

Chu*_*ill 3 c#

我从我的数据库中检索了10个,但我想跳过第一个.原因是我的表中的第一项已经显示在我页面上的主div中.现在我想列出其下的所有其他剩余记录.我该如何做到这一点?

我的代码工作正常,我可以显示阅读器的所有记录.我现在需要的是如何跳过第一个.

Ode*_*ded 13

只需阅读第一个,然后继续其他人:

myReader.Read();

while(myReader.Read())
{
   //do stuff
}
Run Code Online (Sandbox Code Playgroud)


Tho*_*que 10

如果你想使用Linq,可以使用一个简单的扩展方法来使用DataReaders:

public static IEnumerable<IDataRecord> AsEnumerable(this IDataReader reader)
{
    while (reader.Read())
    {
        yield return reader;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用Linq Skip方法:

using (var reader = command.ExecuteRead())
{
    foreach(var row in reader.AsEnumerable.Skip(1))
    {
        // whatever you do with the data...
    }
}
Run Code Online (Sandbox Code Playgroud)