CREATE PROCEDURE stu_ProcedureName
@pageindex int ,
@pageSize int,
@name nvarchar(50),
@count int output
as
BEGIN
if(@name='')
begin
set @count=( select count(1) from ( select ROW_NUMBER() over( order by student.id) as newid , * from student ) t where t.Names like '%'+@name+ '%')
select top(@pageSize) * from ( select ROW_NUMBER() over( order by student.id) as newid , * from student where Names like '%'+@name+ '%' ) t where t.newid >(@pageindex-1)*@pageSize
end
else
begin
set @count=( select count(1) from ( select ROW_NUMBER() over( order by student.id) as newid , * from student ) t )
select top(@pageSize) * from ( select ROW_NUMBER() over( order by student.id) as newid , * from student ) t where t.newid >(@pageindex-1)*@pageSize
end
END
GO
declare @count int;
exec stu_ProcedureName 1,2,'1',@count out
select @count
嵌套类
public class MM
{
public int newid { get; set; }
public int id { get; set; }
public string Names { get; set; }
public int age { get; set; }
public string adress { get; set; }
}
public class pageList<MM>
{
public int pageindex { get; set; }
public int pagesize { get; set; }
public int count { get; set; }
public List<MM> shuju{get;set;}
}