我爱Aspx >> C#.Net >> 在Access中模拟sql server存储过程翻页_数据库技巧
sql server中翻页存储过程:
Create PROC blog_GetPagedPosts
(
@PageIndex int,
@PageSize int,
@BlogID int=0,
@PostType int=-1,
@CategoryID int=-1,
@Hiding bit =0,
@Count int output
)
as
DECLARE @PageLowerBound int
DECLARE @PageUpperBound int
SET @PageLowerBound = @PageSize * @PageIndex - @PageSize
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
Create Table #IDs
(
TempID int IDENTITY (1, 1) NOT NULL,
EntryID int not null
)
Insert into #IDs(EntryID) select DISTINCT [ID] from view_Content where CategoryID=@CategoryID and blogID=@BlogID order by [ID] desc
SELECT vc.*
FROM View_Content vc
INNER JOIN #IDS tmp ON (vc .[ID] = tmp.EntryID)
WHERE tmp.TempID > @PageLowerBound
AND tmp.TempID < @PageUpperBound and vc.Hiding=0
ORDER BY tmp.TempID
SELECT @Count=COUNT(*) FROM #IDS
SELECT @Count=COUNT(*) FROM #IDS
DROP TABLE #IDS
return @Count
GO
在Access中由于不支持存储过程,不能建立临时表只能在程序中实现
Access中实现如下,这也是我在myblog Access版中使用的:
public List<DayBook> GetPagedPost(PagedPost p, out int TotalRecords)
{
List<DayBook> list = new List<DayBook>();
using (OleDbConnection conn = GetOleDbConnection())
{
StringBuilder sql = new StringBuilder();
sql.AppendFormat("select [ID] from blog_Content as p ");//构造查询条件
Ҷƪл˵?
SQL 存储过程&算法_数据库技..[04-28]
建立一个传表名参数的存储过程_数..[04-28]
一个比较好的分页存储过程_数据库..[04-28]
高级自定义查询、分页、多表联合..[04-28]
通用分页存储过程,源码共享,大..[04-28]
两个数据分页的存储过程_数据库技..[04-28]
ASP.NET2.0调用MySql的存储过程_..[04-28]
存储过程使用技巧_数据库技巧[04-28]
分页存储过程2005 _数据库技巧[04-28]
分页存储过程2000_数据库技巧[04-28]
SQL 存储过程&算法_数据库技..[04-28]
使用Data Access Application Bl..[04-28]
asp.net调用存储过程方法新解_AS..[04-28]
建立一个传表名参数的存储过程_数..[04-28]
一个比较好的分页存储过程_数据库..[04-28]
关于ASP.NET2.0编写扩展存储过程..[04-28]
如何解决Remoting无法传输存储过..[04-28]
高级自定义查询、分页、多表联合..[04-28]
通用分页存储过程,源码共享,大..[04-28]
两个数据分页的存储过程_数据库技..[04-28]