mahsab
شنبه 23 اسفند 1393, 14:33 عصر
سلام
من واسه صفحه بندی تو SQL از پروسیجر زیر استفاده کردم و با Linq به دیتابیس متصل شدم اما موقعی ک پروسیجر رو تو dataclass درگ میکنم پیغام میده که نوع خروجی پروسیجر مشخص نیس .موقع استفاده از پروسیجر هم نمیتونم خروجیش رو تو هیچی بریزم .
CREATE PROCEDURE [dbo].[GetImagesPageWise]
@PageIndex INT = 1
,@PageSize INT = 3
,@PageCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(
ORDER BY [Id] ASC
)AS RowNumber
,Id
,Name
,Url
INTO #Results
FROM [Images]
DECLARE @RecordCount INT
SELECT @RecordCount = COUNT(*) FROM #Results
SET @PageCount = CEILING(CAST(@RecordCount AS DECIMAL(10, 2)) / CAST(@PageSize AS DECIMAL(10, 2)))
PRINT @PageCount
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
END
من واسه صفحه بندی تو SQL از پروسیجر زیر استفاده کردم و با Linq به دیتابیس متصل شدم اما موقعی ک پروسیجر رو تو dataclass درگ میکنم پیغام میده که نوع خروجی پروسیجر مشخص نیس .موقع استفاده از پروسیجر هم نمیتونم خروجیش رو تو هیچی بریزم .
CREATE PROCEDURE [dbo].[GetImagesPageWise]
@PageIndex INT = 1
,@PageSize INT = 3
,@PageCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(
ORDER BY [Id] ASC
)AS RowNumber
,Id
,Name
,Url
INTO #Results
FROM [Images]
DECLARE @RecordCount INT
SELECT @RecordCount = COUNT(*) FROM #Results
SET @PageCount = CEILING(CAST(@RecordCount AS DECIMAL(10, 2)) / CAST(@PageSize AS DECIMAL(10, 2)))
PRINT @PageCount
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
END