分页-加载更多-带like

SQL Server 分页存储过程

CREATE PROCEDURE [dbo].[SP_Search_More_Keyword]
   @KeyWord NVARCHAR(250),--关键字
   @PageSize INT,--页量
   @PageIndex INT --页码
AS
BEGIN  
   SELECT TOP (@PageSize)Id, Title, AddTime
   FROM 
	(
	 SELECT ROW_NUMBER() OVER (ORDER BY [Id] DESC) AS RowId,[Id],Title,AddTime  
	 FROM TTable WHERE Title LIKE '%' + @KeyWord + '%'
	)AT  
    WHERE RowId > @PageSize*(@PageIndex-1) 
END

CS

        #region 分页-加载更多-带like
        /// <summary>
        ///  分页-加载更多-带like
        /// </summary>
        /// <param name="KeyWord">关键字</param>
        /// <param name="PageSize">页量</param>
        /// <param name="PageIndex">页码</param>
        /// <returns></returns>
        public static DataTable Search_More_Keyword(string KeyWord, int PageSize, int PageIndex)
        {
            Database db = DatabaseFactory.CreateDatabase();
            using (DbCommand cmd = db.GetStoredProcCommand("CP_Search_AI_More_Keyword"))
            {
                db.AddInParameter(cmd, "@KeyWord", DbType.String, KeyWord== null ? "" : KeyWord);
                db.AddInParameter(cmd, "@PageSize", DbType.Int32, PageSize);
                db.AddInParameter(cmd, "@PageIndex", DbType.Int32, PageIndex);
                DataSet ds = db.ExecuteDataSet(cmd);
                return ds.Tables[0];
            }
        }
        #endregion

【注】:LIKE '%%'会全表匹配,影响效率,若数据量大,尽量避免使用LIKE。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值