简体   繁体   English

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

[英]How do I load first 100 records followed by another 100

I have 500 record in my database but using sql i can only load 250 records. 我的数据库中有500条记录,但是使用sql只能加载250条记录。 If I write a query SELECT TOP 500 I get an error - Is there a way i can select top 100 record store 400 somewhere else and when a user clicks next button load another 100 etc... 如果我写查询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);

I am getting an error "Incorrect syntax near 'OFFSET'." 我收到一个错误“'OFFSET'附近的语法不正确”。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM