Asp Gridview结合模糊查询(全文索引)的分页
到网上搜分页存储过程一大把。但是有些需求的话,对于一般的存储过程不适用。经过一天多的摸索。终于写出了属于自己的分页存储过程(里面包含全文索引的查询哦) 希望对大家有一点点帮助!
效果如图
本人开发的环境是c#2008+sqlserver2008,将要查询的字段填充好全文索引后。便可以展开工作了。
用三层模式开发、 专门新建了一个Querry类,在接口层定义好方法:
/// <summary>
/// 安全规范的分页查询
/// </summary>
/// <param name="q">所需参数</param>
/// <returns>返回一个SStand的集合</returns>
IList<SStand> GetAllBySStand(QuerryContent q);
/// <summary>
/// 得到查询单总数
/// </summary>
/// <param name="q"></param>
/// <returns></returns>
int GetCount(QuerryContent q);
因为查询的页面有很多。并且查询的表也不相同,所以把分页存储过程做成了通用的(废话了)进入主题: 存储过程
第一次查询一个新的东西的时候,先得到这个查询集合的总数(这也是本存储过程不足的)
CreateProcedure Popular_PageListCount
@ContentOne nvarchar(20), --查询关键字
@ContentTwo nvarchar(20),
@ContentThree nvarchar(20),
@TempTypeID int, --所属分类
@TempTypeIDName nvarchar(50), --所属分类名 与上对应 两个是一起的
@fieldOne nvarchar(20), --要查询的字段 强规
@fieldTwo nvarchar(20), --一般规
@Table nvarchar(20), --要查询的表
@TempIDName nvarchar(20) --要排序的ID
AS
declare @sql nvarchar(300)
declare @opreat nvarchar(20)
if @ContentTwo is null or @ContentTwo=''
set @opreat='or'
else
set @opreat='and'
set @sql='select count(*) from '+@Table+'
inner join
containstable('+@Table+',(['+@fieldOne+'],['+@fieldTwo+']),''("'+@ContentOne+'" '+@opreat+'
相关新闻>>
- 发表评论
-
- 最新评论 更多>>