婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 目前用到的兩個分頁存儲過程代碼

目前用到的兩個分頁存儲過程代碼

熱門標簽:電銷機器人公司 需要哪些牌照 分享百度地圖標注多個位置 外呼系統(tǒng)改進 地圖標注牌 湖南電腦外呼系統(tǒng)平臺 長沙智能外呼系統(tǒng) 廣東防封卡外呼系統(tǒng)原理是什么 菏澤語音電銷機器人加盟公司 知名電銷機器人價格
第一個,取得數(shù)據(jù)總行數(shù)
復(fù)制代碼 代碼如下:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [sq8reyoung].[fenye_num]
(
@TableNames NVARCHAR(200),
@Filter nvarchar(200))
AS
IF @Filter = ''
SET @Filter = ' WHERE 1=1'
ELSE
SET @Filter = ' WHERE ' + @Filter
EXECUTE('select count(*) from '+@TableNames+' '+@Filter)

第二個取得分頁數(shù)據(jù)
復(fù)制代碼 代碼如下:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [sq8reyoung].[fenye]
@TableNames VARCHAR(200), --表名,可以是多個表,但不能用別名
@PrimaryKey VARCHAR(100), --主鍵,可以為空,但@Order為空時該值不能為空
@Fields VARCHAR(200), --要取出的字段,可以是多個表的字段,可以為空,為空表示select *
@PageSize INT, --每頁記錄數(shù)
@CurrentPage INT, --當(dāng)前頁,0表示第1頁
@Filter VARCHAR(200) = '', --條件,可以為空,不用填 where
@Group VARCHAR(200) = '', --分組依據(jù),可以為空,不用填 group by
@Order VARCHAR(200) = '' --排序,可以為空,為空默認按主鍵升序排列,不用填 order by
AS
BEGIN
DECLARE @SortColumn VARCHAR(200)
DECLARE @Operator CHAR(2)
DECLARE @SortTable VARCHAR(200)
DECLARE @SortName VARCHAR(200)
IF @Fields = ''
SET @Fields = '*'
IF @Filter = ''
SET @Filter = 'WHERE 1=1'
ELSE
SET @Filter = 'WHERE ' + @Filter
IF @Group >''
SET @Group = 'GROUP BY ' + @Group
IF @Order > ''
BEGIN
DECLARE @pos1 INT, @pos2 INT
SET @Order = REPLACE(REPLACE(@Order, ' asc', ' ASC'), ' desc', ' DESC')
IF CHARINDEX(' DESC', @Order) > 0
IF CHARINDEX(' ASC', @Order) > 0
BEGIN
IF CHARINDEX(' DESC', @Order) CHARINDEX(' ASC', @Order)
SET @Operator = '='
ELSE
SET @Operator = '>='
END
ELSE
SET @Operator = '='
ELSE
SET @Operator = '>='
SET @SortColumn = REPLACE(REPLACE(REPLACE(@Order, ' ASC', ''), ' DESC', ''), ' ', '')
SET @pos1 = CHARINDEX(',', @SortColumn)
IF @pos1 > 0
SET @SortColumn = SUBSTRING(@SortColumn, 1, @pos1-1)
SET @pos2 = CHARINDEX('.', @SortColumn)
IF @pos2 > 0
BEGIN
SET @SortTable = SUBSTRING(@SortColumn, 1, @pos2-1)
IF @pos1 > 0
SET @SortName = SUBSTRING(@SortColumn, @pos2+1, @pos1-@pos2-1)
ELSE
SET @SortName = SUBSTRING(@SortColumn, @pos2+1, LEN(@SortColumn)-@pos2)
END
ELSE
BEGIN
SET @SortTable = @TableNames
SET @SortName = @SortColumn
END
END
ELSE
BEGIN
SET @SortColumn = @PrimaryKey
SET @SortTable = @TableNames
SET @SortName = @SortColumn
SET @Order = @SortColumn
SET @Operator = '>='
END
DECLARE @type varchar(50)
DECLARE @prec int
SELECT @type=t.name, @prec=c.prec
FROM sysobjects o
JOIN syscolumns c on o.id=c.id
JOIN systypes t on c.xusertype=t.xusertype
WHERE o.name = @SortTable AND c.name = @SortName
IF CHARINDEX('char', @type) > 0
SET @type = @type + '(' + CAST(@prec AS varchar) + ')'
DECLARE @TopRows INT
SET @TopRows = @PageSize * @CurrentPage + 1
PRINT @type
DECLARE @sql NVARCHAR(4000)
SET @Sql = 'DECLARE @SortColumnBegin ' + @type + '
SET ROWCOUNT ' + Cast(@TopRows as VARCHAR(10))+ ' SELECT @SortColumnBegin=' +
@SortColumn + ' FROM ' + @TableNames + ' ' + @Filter + ' ' + @Group + ' ORDER BY ' + @Order + '
SET ROWCOUNT ' + CAST(@PageSize AS VARCHAR(10)) + '
SELECT ' + @Fields + ' FROM ' + @TableNames + ' ' + @Filter + ' AND ' + @SortColumn + '' + @Operator + '@SortColumnBegin ' + ISNULL(@Group,'') + ' ORDER BY ' + @Order + ''
-- Print(@sql)
Exec(@sql)
END

以及實現(xiàn)此方法的數(shù)據(jù)操作類
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient ;
using System.Data;
using System.Configuration;
using Wuqi.Webdiyer;
using Models;
namespace DAL
{
public class DBHelper
{
public static readonly string CONN_STRING = ConfigurationManager.ConnectionStrings["RyMedicalConnectionString"].ConnectionString;
public static SqlDataReader GetReader(string safeSql)
{
SqlConnection conn = new SqlConnection(CONN_STRING);
SqlCommand cmd = new SqlCommand(safeSql, conn);
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
reader.Close();
return reader;
}
public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlConnection conn = new SqlConnection(CONN_STRING);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
reader.Close();
conn.Close();
return reader;
}
public static DataTable GetDataSet(string safeSql)
{
SqlConnection conn = new SqlConnection(CONN_STRING);
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, conn);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
conn.Close();
return ds.Tables[0];
}
public static DataTable GetDataSet(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlConnection conn = new SqlConnection(CONN_STRING);
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(cmdText, conn);
conn.Open();
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
conn.Close();
return ds.Tables[0];
}
public static SqlDataReader ExecuteReader(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(CONN_STRING);
conn.Open();
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
rdr.Close();
conn.Close();
return rdr;
}
public static object ExecuteScalar(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(CONN_STRING))
{
conn.Open();
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
conn.Close();
return val;
}
}
public static object ExecuteScalar(SqlConnection conn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
public static void ExecuteNonQuery(string sql)
{
SqlConnection conn = new SqlConnection(CONN_STRING);
SqlCommand cmd = new SqlCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
/// summary>
/// 傳入SQL語句,返回int
/// /summary>
/// param name="sql">/param>
/// returns>/returns>
public static int ExcuteCommand(string sql)
{
SqlConnection conn = new SqlConnection(CONN_STRING);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
int result = cmd.ExecuteNonQuery();
conn.Close();
return result;
}
/// summary>
///
/// /summary>
/// param name="Name">需要分頁的表明/param>
/// param name="pk">主鍵名/param>
/// param name="fields">需要取出的字段,留空則為*/param>
/// param name="pagesize">每頁的記錄數(shù)/param>
/// param name="CurrentPage">當(dāng)前頁/param>
/// param name="Filter">條件,可以為空,不用填 where/param>
/// param name="Group">分組依據(jù),可以為空,不用填 group by/param>
/// param name="order">排序,可以為空,為空默認按主鍵升序排列,不用填 order by/param>
/// returns>/returns>
public static DataTable Pagedlist(string Name, string pk, string fields, int pagesize, int CurrentPage, string Filter, string Group, string order)
{
CurrentPage = CurrentPage - 1;
DataTable dt = GetDataSet(CommandType.StoredProcedure, "fenye",
new SqlParameter("@TableNames", Name),
new SqlParameter("@PrimaryKey", pk),
new SqlParameter("@Fields", fields),
new SqlParameter("@PageSize", pagesize),
new SqlParameter("@CurrentPage", CurrentPage),
new SqlParameter("@Filter", Filter),
new SqlParameter("@Group", Group),
new SqlParameter("@Order", order)
);
return dt;
}
public static int fenye_num(string Name, string Filter)
{
return (int)ExecuteScalar(CommandType.StoredProcedure, "fenye_num",
new SqlParameter("@TableNames", Name),
new SqlParameter("@Filter", Filter));
}
/// summary>
///
/// /summary>
/// param name="Name">需要分頁的表明/param>
/// param name="pk">主鍵名/param>
/// param name="fields">需要取出的字段,留空則為*/param>
/// param name="pagesize">每頁的記錄數(shù)/param>
/// param name="CurrentPage">當(dāng)前頁/param>
/// param name="Filter">條件,可以為空,不用填 where/param>
/// param name="Group">分組依據(jù),可以為空,不用填 group by/param>
/// param name="order">排序,可以為空,為空默認按主鍵升序排列,不用填 order by/param>
/// param name="objanp">傳遞aspnetpager控件/param>
/// returns>/returns>
public static DataTable Paged(string Name, string pk, string fields, int pagesize, int CurrentPage, string Filter, string Group, string order, AspNetPager objanp)
{
CurrentPage = CurrentPage - 1;
DataTable dt = GetDataSet(CommandType.StoredProcedure, "fenye",
new SqlParameter("@TableNames", Name),
new SqlParameter("@PrimaryKey", pk),
new SqlParameter("@Fields", fields),
new SqlParameter("@PageSize", pagesize),
new SqlParameter("@CurrentPage", CurrentPage),
new SqlParameter("@Filter", Filter),
new SqlParameter("@Group", Group),
new SqlParameter("@Order", order)
);
objanp.RecordCount = fenye_num(Name, Filter);
return dt;
}
}
}

以及頁面調(diào)用方式
復(fù)制代碼 代碼如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Insus.NET;
using DAL;
using System.Data.SqlClient;
public partial class news_newlist : System.Web.UI.Page
{
int nid;
int totalOrders;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["typeid"] != null)
{
nid = Convert.ToInt16(Request.QueryString["typeid"].ToString());
binddata(1);
}
else
{
Response.Redirect("~/default.aspx");
}
}
}
private void binddata(int page)
{
DataTable dt = DBHelper.Paged("M_NewInfoAll", "New_Id", "", AspNetPager1.PageSize, page, "New_TypeId=" + nid.ToString() + "", "", "New_PubDate desc", AspNetPager1);
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
DataRow dr = dt.Rows[0];
this.Label1.Text = dr["New_TypeName"].ToString();
//this.Literal1.Text = dr["new_typeName"].ToString();
Page.Title = Label1.Text.Trim() + " - 新農(nóng)合醫(yī)藥網(wǎng)";
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
if (Request.QueryString["page"] != null)
{
binddata(Convert.ToInt32(Request.QueryString["page"].ToString()));
}
}
}

如此分頁即可實現(xiàn)(下圖),在任何項目中只需要COPY2個存儲過程一個數(shù)據(jù)操作類,或者喜歡將數(shù)據(jù)類做成DLL也可以,在頁面調(diào)用時傳入?yún)?shù)只需一行代碼即可.

標簽:美容院 天水 泉州 珠海 呼和浩特 福建 商洛 西寧

巨人網(wǎng)絡(luò)通訊聲明:本文標題《目前用到的兩個分頁存儲過程代碼》,本文關(guān)鍵詞  目前,用到,的,兩個,分頁,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《目前用到的兩個分頁存儲過程代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于目前用到的兩個分頁存儲過程代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    97se亚洲国产综合自在线不卡 | 亚洲小说春色综合另类电影| 日本不卡123| 99国产精品99久久久久久| 欧美xxxxxxxxx| 亚洲色图视频免费播放| 极品少妇一区二区| 欧美日韩一区精品| 综合网在线视频| 国产成人在线视频网站| 日韩欧美在线一区二区三区| 国产一区二区三区免费播放| 一本一道久久a久久精品综合蜜臀| 日韩精品一区二区三区在线观看| 亚洲成人资源网| 99久久综合国产精品| 26uuu国产电影一区二区| 日韩在线一区二区| 91黄色免费网站| 亚洲欧美日韩在线| caoporen国产精品视频| 久久精品综合网| 久久精品国产久精国产| 欧美一区在线视频| 丝袜美腿亚洲色图| 欧美日韩黄色一区二区| 亚洲国产精品一区二区www在线| av在线一区二区| 亚洲色图清纯唯美| 91首页免费视频| 一区二区在线观看不卡| 91麻豆精品秘密| 亚洲精品福利视频网站| 色婷婷亚洲综合| 亚洲成人黄色影院| 欧美伦理电影网| 久久黄色级2电影| 精品国偷自产国产一区| 久久99日本精品| 久久综合九色综合久久久精品综合| 国产原创一区二区三区| 久久精品亚洲国产奇米99| 久久精品国产一区二区三区免费看| 91精品国产入口在线| 久久国产福利国产秒拍| 中文字幕精品一区二区精品绿巨人| 成人晚上爱看视频| 伊人开心综合网| 欧美一区二区二区| 国产一区二区在线观看视频| 一区精品在线播放| 欧美精品久久久久久久久老牛影院| 久久99国产乱子伦精品免费| 欧美—级在线免费片| 色8久久人人97超碰香蕉987| 五月开心婷婷久久| 日韩av中文字幕一区二区三区| 欧美一区二区三区在线看| 韩国精品免费视频| 一区二区三区欧美日| 日韩午夜av电影| www.亚洲激情.com| 看电视剧不卡顿的网站| 国产精品成人免费精品自在线观看 | 97超碰欧美中文字幕| 性做久久久久久| 久久精品人人做| 欧美日韩精品一二三区| 国产99久久久精品| 天天影视网天天综合色在线播放| 2014亚洲片线观看视频免费| 欧美性生活大片视频| 国产69精品久久777的优势| 亚洲已满18点击进入久久| 精品国精品国产| 精品污污网站免费看| 福利电影一区二区三区| 青青国产91久久久久久 | 美女被吸乳得到大胸91| 国产精品二区一区二区aⅴ污介绍| 欧美人妇做爰xxxⅹ性高电影| 国产高清久久久| 日本亚洲欧美天堂免费| 亚洲欧美一区二区三区孕妇| 欧美精品一区二区三| 制服丝袜国产精品| 91女厕偷拍女厕偷拍高清| 福利一区福利二区| 久久99精品久久久久久国产越南 | 色婷婷国产精品久久包臀| 九九久久精品视频| 日日摸夜夜添夜夜添亚洲女人| 中文字幕一区二区在线观看| 久久伊99综合婷婷久久伊| 91精品中文字幕一区二区三区| 99国产欧美另类久久久精品| 粉嫩绯色av一区二区在线观看 | 欧美色综合天天久久综合精品| 国产成人午夜高潮毛片| 久色婷婷小香蕉久久| 麻豆久久一区二区| 男女男精品网站| 另类的小说在线视频另类成人小视频在线 | 国产人成一区二区三区影院| 欧美sm极限捆绑bd| 91精品综合久久久久久| 91麻豆精品国产无毒不卡在线观看 | 日本高清不卡aⅴ免费网站| 91亚洲国产成人精品一区二区三| 懂色av噜噜一区二区三区av| 国产一区二区三区四区五区入口| 精品一区二区三区在线视频| 久久99精品国产麻豆婷婷| 麻豆成人免费电影| 美女视频黄 久久| 国产综合一区二区| 成人美女视频在线观看18| 成人av在线一区二区三区| www.激情成人| 在线免费av一区| 欧美日韩成人一区| 日韩免费成人网| 国产亚洲精品免费| 亚洲精品第一国产综合野| 亚洲成人综合网站| 激情六月婷婷久久| 国产精品一区二区久激情瑜伽| 成人黄色777网| 在线观看日韩高清av| 日韩视频免费观看高清完整版在线观看| 精品免费国产二区三区| 国产精品网站导航| 一区二区三区高清在线| 美美哒免费高清在线观看视频一区二区 | 一区二区三区四区不卡在线| 亚洲国产视频网站| 黄页视频在线91| 91天堂素人约啪| 欧美丰满少妇xxxxx高潮对白| ww亚洲ww在线观看国产| 综合亚洲深深色噜噜狠狠网站| 日韩国产精品久久久| 国产成人8x视频一区二区| 在线观看亚洲一区| 久久综合一区二区| 亚洲一区电影777| 国内精品久久久久影院一蜜桃| a在线欧美一区| 日韩三级电影网址| 亚洲激情中文1区| 国产乱码字幕精品高清av| 91成人免费在线视频| 久久先锋资源网| 午夜精品视频一区| av不卡在线观看| 欧美一级日韩免费不卡| 亚洲欧美日韩综合aⅴ视频| 久久精品国产99国产精品| 色女孩综合影院| 国产午夜三级一区二区三| 婷婷成人综合网| 一本一本大道香蕉久在线精品| 欧美tk丨vk视频| 五月天欧美精品| 日本高清不卡视频| 最新高清无码专区| 盗摄精品av一区二区三区| 日韩欧美一级在线播放| 天堂一区二区在线| 色婷婷av一区| 中文av一区特黄| 国产精品亚洲一区二区三区在线| 91精品国产综合久久精品app| 亚洲欧洲制服丝袜| 99精品欧美一区二区蜜桃免费 | 色综合久久久久久久久久久| 久久久777精品电影网影网 | 亚洲一卡二卡三卡四卡无卡久久 | 国产精品白丝在线| 国产精品一区二区91| 精品福利一区二区三区| 免费成人美女在线观看.| 884aa四虎影成人精品一区| 亚洲成人精品影院| 日本高清成人免费播放| 亚洲伦理在线精品| 97超碰欧美中文字幕| 亚洲日穴在线视频| 91国产免费看| 亚洲一区二区三区不卡国产欧美| 色8久久精品久久久久久蜜| 亚洲柠檬福利资源导航| 色婷婷精品大在线视频| 亚洲国产wwwccc36天堂| 欧美蜜桃一区二区三区| 日韩精品亚洲专区| 日韩欧美一区二区久久婷婷| 国产一区二三区好的| 国产精品网站在线| 欧洲色大大久久|