asp.net 存储过程分页字段排序
最近在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 <= &l
相关文档:
protected void Button3_Click(object sender, EventArgs e)
{
//定义变量,判断是否有图片上传
bool fileIsValid = false;
//如果有图片上传,判断其格式
&nbs ......
Asp.net页面乱码第一种解决方案:
在web.config中:
<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
Asp.net页面乱码第二种解决方案:
<META http-equiv="content-type" content="text/html; charset=gb2312">
Asp.net页面乱码第三种解决方案:
下载文件时指定文件名,中文的文 ......
以前做.NET winform的时候,一直都是用 Console.Write向控制台输出信息的,这次做web的时候,发现这个语句用不了。
查了一下资料,才发现web程序执行时,是被附加到IIS进程的一个单独的AppDomain中的,所以就算有输出也看到,所以Console.Write调试信息无法显示出来。
那么解决办法是,用debug代替:
System.Diagnostics ......
在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。
实现ASP.NET生成随机密码功能是很容易的,下面的代码给出了完整的实现方法:
publicstaticstringMakePassword(stringpw ......
方案1:
/// <summary>
/// 传入URL返回网页的html代码
/// </summary>
/// <param name="Url">URL</param>
/// <returns></returns>
public static string getUrltoHtml(string Url)
{
errorMsg = "";
try
{
System.Net.WebRequest wReq = System.Net.WebReque ......