如何加载前100条记录,然后再加载100条记录

时间:2014-02-14 09:19:12

标签: c# sql

我的数据库中有500条记录但是使用sql我只能加载250条记录。如果我写一个查询SELECT TOP 500我得到一个错误 - 有没有办法我可以在其他地方选择前100名记录存储400,当用户点击下一个按钮加载另外100等...

        public List<m> DisplayAll()
    {
       int yr= DateTime.Now.Year; 
        DateTime d= new DateTime(yr, 9, 1);
        DateTime dd= new DateTime(yr+ 1, 9, 1);

        List<m> l = new List<m>();
        SqlConnection conn = new SqlConnection(connection...);
        SqlCommand command = new SqlCommand("select distinct ID, name,sname, etc.. from TableName where Time > @Time And Time < @Time1 ORDER BY ID, name, sname, etc... OFFSET 10 ROWS FETCH NEXT 100 ROWS ONLY", conn);
        command.Parameters.AddWithValue("@Time", d);
        command.Parameters.AddWithValue("@Time1 ", dd);

我收到错误“OFFSET'附近的语法不正确。”

1 个答案:

答案 0 :(得分:1)

在SQL Server中,从2005年开始,您使用ROW_NUMBER()并按该结果进行过滤,例如BETWEEN 1 AND 100等。