public static DataSet GetPageList(string selectCommandText, List<SqlParameter> paramList, int pageSize, int pageIndex, string filedOrder, out string recordTotal)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
StringBuilder SQLString = new StringBuilder();
(@"
BEGIN
DECLARE @beginRow INT;
DECLARE @endRow INT;
SET NOCOUNT ON
SET @beginRow = (@pageIndex - 1) * @pageSize + 1;
SET @endRow = @pageIndex * @pageSize;
--输出参数为总记录数
SELECT @recordTotal = COUNT(1) FROM ("+ @selectCommandText + @") AS my_temp;
--主查询返回结果集
SELECT * FROM (SELECT ROW_NUMBER() OVER (order by @orderString) AS rows ,* FROM (" + @selectCommandText + @") AS A) AS main_temp
WHERE rows BETWEEN CAST(@beginRow AS VARCHAR) AND CAST(@endRow AS VARCHAR);
SET NOCOUNT OFF
END");
();
SqlCommand cmd = new SqlCommand((), connection);
if (paramList != null && > 0)
{
foreach (SqlParameter param in paramList)
{
if (( == || == ) &&
( == null))
{
= ;
}
(param);
}
}
recordTotal = "0";
(new SqlParameter("@recordTotal", , 8) { Value = (recordTotal), Direction = });
(new SqlParameter("@pageSize", , 8) { Value = pageSize });
(new SqlParameter("@pageIndex", , 8) { Value = pageIndex });
(new SqlParameter("@orderString", , 1000) { Value = filedOrder });
SqlDataAdapter sqlDA = new SqlDataAdapter();
= cmd;
DataSet ds = new DataSet();
(ds);
recordTotal = ["@recordTotal"].Value != ? ["@recordTotal"].() : "0";
();
();
return ds;
}
catch (Exception ex)
{
throw ex;
}
}
}