我需要从数据库中获取大约40000行并绑定到gridview,之后这些数据需要导出到excel和PDF。 当我用简单的条纹程序绑定行时,它需要很长时间接近5-6分钟。 所以我为自定义分页编写了一个存储过程。
我的跟踪程序如下......
CREATE PROCEDURE [dbo].[uspGetTarnsactionPaging]
@PageIndex INT = 1
,@PageSize INT = 10
,@RecordCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
select APP.AppName AS "Application Name",
TRA.OS_Name as "OS",TRA.MSISDN,TRA.RequestDateTime AS "Request DateTime Stamp",
TRA.ResponseDateTime AS "Reponse DateTime Stamp" ,TRA.IP,TRA.UserDetails,TRA.UserAgent,TRA.OperationType ,
TRA.OperationDetails AS "Opperation Details",TRA.Status
INTO #Results
FROM TTSL_Application_Master APP INNER JOIN TTSL_ApplicationTransactionDetails_Master TRA
ON APP.AppID=TRA.ApplicationID
WHERE TRA.ApplicationID=2 AND TRA.RequestDateTime >= 2014-11-02 AND TRA.ResponseDateTime <= 2014-11-03
SELECT ROW_NUMBER() OVER
(
order by App_TransactionDetailsID
)AS RowNumber
SELECT @RecordCount = COUNT(*)
FROM #Results
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
END
当我执行存储过程时,显示以下错误..
Msg 207,Level 16,State 1,Procedure uspGetTarnsactionPaging,Line 18 列名称无效&#39; App_TransactionDetailsID&#39;。
答案 0 :(得分:0)
尝试此查询
CREATE PROCEDURE [dbo].[uspGetTarnsactionPaging]
@PageIndex INT = 1
,@PageSize INT = 10
,@RecordCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
select ROW_NUMBER() OVER
(
order by App_TransactionDetailsID
)AS RowNumber, APP.AppName AS "Application Name",
TRA.OS_Name as "OS",TRA.MSISDN,TRA.RequestDateTime AS "Request DateTime Stamp",
TRA.ResponseDateTime AS "Reponse DateTime Stamp" ,TRA.IP,TRA.UserDetails,TRA.UserAgent,TRA.OperationType ,
TRA.OperationDetails AS "Opperation Details",TRA.Status
INTO #Results
FROM TTSL_Application_Master APP INNER JOIN TTSL_ApplicationTransactionDetails_Master TRA
ON APP.AppID=TRA.ApplicationID
WHERE TRA.ApplicationID=2 AND TRA.RequestDateTime >= 2014-11-02 AND TRA.ResponseDateTime <= 2014-11-03
Order by App_TransactionDetailsID Desc
SELECT @RecordCount = COUNT(*)
FROM #Results
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results