sql存储过程,根据多个条件查询,返回一个dataTable或者DataSet

本文介绍了一种使用SQL存储过程实现的灵活分页查询方法,并展示了如何通过ASP.NET调用此存储过程并将数据展示在DataTable中。该方法通过参数控制是否采用TOP N查询,适用于需要高效分页显示大量数据的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不废话,先直接代码

首先sql部分(我在这里加了一个@zx作为判断,一般不需要这个参数):

ALTER Proc [dbo].[Proc_Boss_Show]
@StrIndex varchar(500),--开始条数
@EndIndex varchar(500),--结束条数
@StrWhere  varchar(max),
@zx int --执行区间  1执行 top n  2显示所有数据
as

begin
     declare  @strSqlstr varchar(500)
     
     if(@zx=1)
     begin
         set @strSqlstr='select  * from (select top '+@EndIndex
         set @strSqlstr+='  row_number() over(order by 提货时间 desc)
         as xx,* from View_Boss_Show  where 1=1 '+@StrWhere
         set @strSqlstr+=' ) as xx where xx>'+@StrIndex


    end
     if(@zx=2)
    begin
       set @strSqlstr='select * from  View_Boss_Show  where  1=1 '+@StrWhere
    end

print @strSqlstr
exec(@strSqlstr)

asp.net代码(直接用DataTable接收):

DataTable dt = null;
            try
            {
                dt = DBHelper.GetDataTable("Proc_View_show1391", para);
            }
            catch (Exception ex)
            { //throw new Exception(ex.ToString());
            }

 

转载于:https://www.cnblogs.com/1439107348s/p/7767578.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值