asp.net 存储过程分页字段排序

大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码) 我国是世界上电气化铁路运营里程最长、服役电力机车型号最多、运营最 繁忙的国家。截至 2020年底,我国铁路年消耗电量约800亿千瓦时,约占三峡 年总发电量的 80%。图1为高速铁路牵引供电系统示意图,主要包括牵引变电所、牵引网和动车 组。牵引变电所将 220kV三相电压转换为满足电力机车运行的27.5kV单相电压, 其核心元件是牵引变压器。牵引网由馈线、接触网、钢轨、回流线等组成,完成 对电力机车的送电任务。... 阅读详情

最近在asp.net 用到的sqlserver存储过程分页中显示数据时遇到关于排序问题。

网上的一些分页存储过程只支持排序列为int 类型,对于实际开发中很多时候都需要对DateTime类型,varchar类型进行排序。

下面分享一下可以支持任意数据类型的列进行排序的存储过程。

Create PROCEDURE  sp_viewByPage
@TblName  varchar(50),              — 表名
@FldName  varchar(50),       — 排序列
@PageSize int,      – 每页记录数
@PageIndex int,      – 指定页
@strWhere  varchar(1000),   – 查询条件
@OrderType bit = 0        — 设置排序类型, 非 0 值则降序
AS
Begin
Declare @Sql nvarchar(1000)
if @strWhere !=”        –是否where
if @OrderType =’0′
begin
Set @Sql=’SELECT SerialNumber,* FROM (SELECT *,ROW_NUMBER() OVER (ORDER BY ‘+@FldName +’ ASC) AS SerialNumber FROM ‘+@TblName +’ where ‘+@strWhere+’) AS T WHERE T.SerialNumber > ‘+str((@PageIndex-1) * @PageSize)+’ and T.SerialNumber <= ‘ + str(@PageIndex * @PageSize)
Exec sp_executesql @Sql
end
else
begin
Set @Sql=’SELECT SerialNumber,* FROM (SELECT *,ROW_NUMBER() OVER (ORDER BY ‘+@FldName +’ DESC) AS SerialNumber FROM ‘+@TblName +’ where ‘+@strWhere+’) AS T WHERE T.SerialNumber > ‘+str((@PageIndex-1) * @PageSize)+’ and T.SerialNumber <= ‘ + str(@PageIndex * @PageSize)
Exec sp_executesql @Sql
end
else
if @OrderType =’0′
begin
Set @Sql=’SELECT SerialNumber,* FROM (SELECT *,ROW_NUMBER() OVER (ORDER BY ‘+@FldName +’ ASC) AS SerialNumber FROM ‘+@TblName +’) AS T WHERE T.SerialNumber > ‘+str((@PageIndex-1) * @PageSize)+’ and T.SerialNumber <= ‘ + str(@PageIndex * @PageSize)
Exec sp_executesql @Sql
end
else
begin
Set @Sql=’SELECT SerialNumber,* FROM (SELECT *,ROW_NUMBER() OVER (ORDER BY ‘+@FldName +’ DESC) AS SerialNumber FROM ‘+@TblName +’) AS T WHERE T.SerialNumber > ‘+str((@PageIndex-1) * @PageSize)+’ and T.SerialNumber <= ‘ + str(@PageIndex * @PageSize)
Exec sp_executesql @Sql
end
End

exec sp_viewByPage1 ‘hope_T_news’,'News_PostTime’,'10′,’6′,’News_Passed=1′,’0′ –执行的语句,其中,若where条件为空,也就不传递值

ET2012新版免狗免安装绿色软件 ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉, 立即下载

相关推荐

拼多多/Temu反爬参数逆向踩坑记:从浏览器调试到补环境完整复盘

本文详细解析了拼多多/Temu反爬参数`anti_content`的逆向工程实战,从浏览器调试到补环境完整复盘。通过JavaScript逆向技术,拆解关键函数定位、反混淆算法还原及补环境技术应用,帮助开发者突破电商平台复杂反爬系统,提升数据采集效率。

weixin_33978722的博客 913

asp.net 任意字段排序(用户控件版)、委托

效果如下: ColumnSort.ascx <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ColumnSort.ascx.cs" Inherits="Unisoft.ICS.Web.UserControls.DropDown.ColumnSort" %> <asp:DropDownLis

ASP.NET 789

win10离线安装.NetFrameWork3.5出现0x800F081F解决办法。

由于公司开发环境是内网,并且安装arcgis10.2又需要.NetFrameWork3.5的环境,安装.NetFrameWork3.5的又总是报错“0x800F081F”找不到源文件。折腾了两天总算解决了。 首先我们能在网上搜索到的教程,你一定看到过这样的教程,就是使用下面的命令来进行安装。 dism /online /Enable-Feature /Featu...

AIGIS的博客 1万+

orcle数据库order by 按字符串NVARCHAR2类型字段排序时顺序错误

唉,真得是,有事没事地总会遇到点奇奇怪怪的bug 不多说了,看图 REGISTRATION_ID字段是NVARCHAR2类型的,当我以此进行降序排序时,发现序列似乎是按左对齐排的,从第一位开始比较,第一位大的排在前面,如果第一位相同则继续比较第二位,上面这种情况,“34093”虽然数值比较小,但是首位数字大,所以排在的前面。 这是orcle内部排序规则的问题,mysql也同样如此。如果想要按数值大小进行排序,就需要先将其转化为数值类型。 1. 使用To_Number转化函数。 2. 直接.

李酒酒的博客 646

HFSS仿真平行线定向耦合器学习笔记

材料:FR4(玻璃纤维环氧树脂),介电常数:4.4,损耗角正切:0.02,厚度0.8mm。扫频方式:快速扫频,扫频范围:1.0GHz~3.0GHz,步进:0.01GHz。端口2是端口1关于Y轴对称,端口3,端口4是端口1和端口2关于X轴对称得到。求解中心频率:2.0GHz,迭代次数:20,收敛误差为0.02。右键设置边界条件----辐射边界。激励方式:集总端口激励。

qq_36521926的博客 4491

HDMI接口技术解析:从基础到应用

本文深入解析HDMI接口技术,从其发展历程、物理结构到传输原理,全面剖析HDMI如何成为影音传输的主流标准。通过对比不同版本的带宽升级和实际应用案例,展示HDMI在4K/8K视频传输中的卓越性能,并分享硬件设计中的实战经验与避坑指南。

weixin_30485379的博客 371

数据库中对varchar类型数据排序的方法

今天在工作中遇到了一点小问题,花了很多时间,最后在同事的帮助下,很简单的就解决了,现在整理了分享给大家,希望能对大家有所帮助。 项目中有对点赞(praise)数量进行排序的需求,但前端传值和数据库(mysql)中都是用的String,如果直接在sql中使用order by praise的话,排序的效果是如下图。 很明显,这是不符合产品需求的。想实现按数字大小的排序,就要使用cast()方法。 ...

potatotamato的博客 3610

Multisim仿真入门:单相半波可控整流电路从搭建到波形分析(附避坑指南)

本文为电力电子技术初学者提供了一份详细的Multisim仿真指南,手把手教你从零搭建单相半波可控整流电路。通过对比纯电阻、阻感负载及加入续流二极管后的波形变化,直观理解晶闸管触发、电感续流等核心原理,并附有实用的参数设置与常见问题避坑指南,帮助你将抽象理论转化为可视化的工程实践。

weixin_29208077的博客 343

asp.net 键值队排序

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace jquerytest { public partial class Web

suntanyong88的专栏 1万+

海思MPP平台千兆以太网驱动集成与测试指南

千兆以太网(GE)是嵌入式视觉系统中音视频流传输与边缘控制的核心物理接口,其底层驱动需兼顾DMA高效调度、中断实时响应与PHY链路稳定性。在Linux嵌入式环境中,GE驱动通常基于net_device框架实现,并深度耦合于SoC专用媒体处理平台(如海思MPP),通过硬件抽象层(HAL)屏蔽寄存器操作,提供零拷贝、RGMII时序适配、描述符环管理等关键能力。技术价值体现在降低CPU负载、保障1080p@30fps实时推流、支持ONVIF/RTSP协议交互及固件远程升级。典型应用场景包括网络摄像机(IPC)、A

weixin_42599908的博客 89

【目标检测】IoU(交并比)详解及代码实现

1. IOU概述        IoU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率-,即它们的交集和并集的比值。最理想情况是完全重叠,即比值为1。 2. IoU计算        IoU等于“预测的边框”和“真实的边框”之间交集和并集的比值。IoU计算如下图,B1为真实

Roaddd的博客 2万+

Paging of Large Resultsets in ASP.NET中介绍的SET ROWCOUNT方式存储过程的问题

Paging of Large Resultsets in ASP.NET中对几种常见的分页方式做了比较感觉写得不错,前段时间因为要做asp.net分页,就想到了这篇文章,但经过测试后发现不少问题,虽然按照留言的介绍和自己的努力做了些修改,最终还是放弃了。 今天在逛博客园的时候发现了这篇文章:优化后的通用分页存储过程(已更新) ,觉得有必要说说这个Sp的问题了,这里没有别的意思,只是想阐述下我对这...

weixin_34174105的博客 114

《网络安全自学教程》- OSI七层模型分层及作用,数据封装与解封过程,数据传输过程。

OSI分哪七层,每层的作用是什么,解释数据在七层模型中是怎样传输的,封包和解封过程,数据包在每一层是怎么封装和解封的。

wangyuxiang946的博客 1万+

Asp.net 高性能数据分页函数,调用示例

ms sql存储过程 -- =============================================-- Create date: &lt;2006-11-05&gt;-- Description:    &lt;高效分页存储过程,仅适用于Sql2005&gt;-- Notes:        &lt;排序字段强烈建议建索引&gt;-- ==============...

weixin_33989058的博客 110

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

基于PCA9422与PIC18F86K22的嵌入式电源管理与动态调压实践

电源管理是嵌入式系统稳定运行的基石,尤其在低功耗设备中,多路电压输出的时序控制、纹波抑制和动态调节直接决定系统可靠性。传统分立LDO方案难以满足复杂供电需求,而集成PMIC通过I2C接口将电压配置、上电顺序和故障监控纳入软件控制,为MCU提供了灵活高效的电源管理能力。理解DC-DC与LDO的选型原理、电感电容参数计算及PCB布局要点,是硬件设计的基础;掌握I2C寄存器配置、分步调压和中断式故障处理,则是软件落地的关键。本文以PCA9422与PIC18F86K22的组合为例,完整展示从硬件拓扑、初始化序列到低

weixin_34174422的博客 305

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

sqlserver 数据库分页

回头来开发asp.net程序,难免会遇到数据库分页的问题,回忆一下以前用过的一个 感觉还是这个比较容易理解; 条件:表中要有一个字段可以进行排序 大概思路: 根据传入的信息 计算出当前也的起始行, 获取起始行的排序字段值 根据这个值和查询条件 获取当前页的数据 CREATE PROCEDURE 存储过程名称 ( @查询条件 @intPageNo INT...

weixin_30498807的博客 75

存储过程分页实例(含有分页代码asp)

'//分页存储过程 set ANSI_NULLS OFFset QUOTED_IDENTIFIER ONGOALTER proc [dbo].[sh_page] @RecordCount int output, @QueryStr nvarchar(100)='table1',--表名、视图名、查询语句 @PageSize int=20, --每页的大小(行数) @PageCurrent int

顺子网络 PHP网站建设 1152

一个通用的数据分页的存储过程

CREATE PROCEDURE sp_page  @tb         varchar(50), --表名  @col        varchar(50), --按该列来进行分页  @coltype    int,         --@col列的类型,0-数字类型,1-字符类型,2-日期时间类型  @orderby    bit,         --排序,0-顺序,1-倒序  @coll

路在何方 971

[原创]aspnetpager 分页存储过程的实现 全代码

一、通用分页存储过程    首先创建一个通用的存储过程ALTER PROCEDURE [dbo].[ProcDataPaging]<br />(<br />@tblName nvarchar(200),      ----要显示的表或多个表的连接<br />@fieldKey nvarchar(150),      ----主表的主键<br />@fieldNameShow nvarchar(500) = '*', ----要显示的字段列表@pageSize int = 1,                

linwejiang的专栏 1340

Repeater自定义分页排序

 分页加排序的存储过程:view plaincopy to clipboardprint?--得到总记录数   if exists(select 1 from sys.objects where name = &apos;GetProductsCount&apos; and type = &apos;P&apos;)       drop proc GetProduct

肖大宝产品之路 568

通用的存储过程分页

/****** Object: StoredProcedure [dbo].[usp_CommonDataResourcePaged] Script Date: 2018/4/20 9:01:14 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- ==========================================...

weixin_30951231的博客 148

mysql存储过程实现分页_存储过程实现分页

USE [HDIS] GO /****** Object: StoredProcedure [dbo].[AspNetPager] Script Date: 12/30/2014 09:00:35 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create procedure [dbo].[AspNetPager] (@table...

weixin_35339134的博客 256

Repeater自定义分页排序(2)

分页加排序的存储过程:view plaincopy to clipboardprint?--得到总记录数  if exists(select 1 from sys.objects where name = GetProductsCount and type = P)      drop proc GetProductsCount  go  CREATE PROCEDURE GetPro

lee576的专栏 1279

.NET储存过程中自定义分页

.NET储存过程中自定义分页: 1.首先要从存储过程下手,代码如下: CREATE proc getdataset @TableList Varchar(200)='*',--搜索表的字段,比如:’id,datatime,job‘,用逗号隔开 @TableName Varchar(30), --搜索的表名 @SelectWhere Varchar(500)='',--...

weixin_33935777的博客 70

mysql8高效分页存储过程_多款高效sql存储过程分页代码(1/8)

public int TotalPage = 0;public int PageCurrent = 1;public int PageSize = 25;public int RowsCount = 0;string userid, username;public DataTable dt = new DataTable();public string path, userwelcome;publ...

weixin_42627459的博客 240
上一篇: 最简单的最高效的过滤SQL脚本防注入
下一篇: dom对象与jQuery对象的互换
fisea
博客等级 码龄19年 40粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值