Soru Geçmişi
15.12.16 00:15
SQL Sayfalama ile ilgili sıkıntı yapıyorum AZ/ZA sıralaması
Asp.nete çok hakim değilim. Bir Sql tarasında veritabanı porsedurle sayfalamayı çekiyorum yalnız
sayfalamadaki filtreleme sadece o sayfada işlem yapıyor örn: 30 sayfa
var her sayfada 10 ürün 300 toplam ürün var azdan çoka fiyata göre
listele dendiğinde yada izme alafabeye kaçıncı sayfadaysan sadece o sayfadakileri sıralıyor
bu 30 sayfada 300 üründe yapmasını ve yeniden sayfalaması gerekmezmi bunu nasıl yapabilirim. kısaca: 30 sayfanın genelindeki ürünlerde değil işlem bu mevcut kodlarımla hangi sayfada ise onu tetikliyor. Sql prosedur kodum. ALTER PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1,
@PageSize INT = 15,
@orderColumn int,
@orderdir nvarchar(10),
@RecordCount INT OUTPUT
AS
BEGIN
SELECT ROW_NUMBER() OVER
(
ORDER BY [UrunID] ASC
)AS RowNumber,
Urunler.UrunFiyati,Urunler.StokKodu, dbo.Urunler.UrunAdi, dbo.Urunler.Nekadardandustu,
dbo.Urunler.Hit,dbo.Urunler.UrunDetay, dbo.Urunler.UrunId, dbo.Urunler.EnCokSatanlar, dbo.Urunler.Indirimdekiler,
dbo.Urunler.Resmi2, dbo.Urunler.Resmi, dbo.Urunler.Onay,
dbo.Urunler.Vitrin, dbo.UrunKategoriler.UrunKategoriAdi
INTO #Results FROM dbo.Urunler INNER JOIN dbo.UrunKategoriler ON dbo.Urunler.UrunKategoriId = dbo.UrunKategoriler.UrunKategoriId order by
CASE WHEN @orderColumn = 1 AND @orderdir = 'desc' THEN Urunler.UrunAdi END DESC,
CASE WHEN @orderColumn = 1 AND @orderdir = 'asc' THEN Urunler.UrunAdi END asc,
CASE WHEN @orderColumn = 2 AND @orderdir = 'desc' THEN cast(Urunler.UrunFiyati as int) END DESC,
CASE WHEN @orderColumn = 2 AND @orderdir = 'asc' THEN cast(Urunler.UrunFiyati as int) END asc
SET NOCOUNT ON;
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
yeterli gelmez ise diğer aspx ve aspx.cs kodlarımıda paylaşabilirim cevap veren değerli arkadaşlara teşekkür ederim
Ekleyen: misafir
Değiştiren: cevapsitesi
14.12.16 19:45
Sayfalama ile ilgili sıkıntı yapıyorum Az/ZA sıralaması Sorunsalı
Asp.nete çok hakim değilim. Bir Sql tarasında veritabanı porsedurle sayfalamayı çekiyorum yalnız
sayfalamadaki filtreleme sadece o sayfada işlem yapıyor örn: 30 sayfa
var her sayfada 10 ürün 300 toplam ürün var azdan çoka fiyata göre
listele dendiğinde yada izme alafabeye kaçıncı sayfadaysan sadece o sayfadakileri sıralıyor
bu 30 sayfada 300 üründe yapmasını ve yeniden sayfalaması gerekmezmi bunu nasıl yapabilirim. kısaca: 30 sayfanın genelindeki ürünlerde değil işlem bu mevcut kodlarımla hangi sayfada ise onu tetikliyor. Sql prosedur kodum. ALTER PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1,
@PageSize INT = 15,
@orderColumn int,
@orderdir nvarchar(10),
@RecordCount INT OUTPUT
AS
BEGIN
SELECT ROW_NUMBER() OVER
(
ORDER BY [UrunID] ASC
)AS RowNumber,
Urunler.UrunFiyati,Urunler.StokKodu, dbo.Urunler.UrunAdi, dbo.Urunler.Nekadardandustu,
dbo.Urunler.Hit,dbo.Urunler.UrunDetay, dbo.Urunler.UrunId, dbo.Urunler.EnCokSatanlar, dbo.Urunler.Indirimdekiler,
dbo.Urunler.Resmi2, dbo.Urunler.Resmi, dbo.Urunler.Onay,
dbo.Urunler.Vitrin, dbo.UrunKategoriler.UrunKategoriAdi
INTO #Results FROM dbo.Urunler INNER JOIN dbo.UrunKategoriler ON dbo.Urunler.UrunKategoriId = dbo.UrunKategoriler.UrunKategoriId order by
CASE WHEN @orderColumn = 1 AND @orderdir = 'desc' THEN Urunler.UrunAdi END DESC,
CASE WHEN @orderColumn = 1 AND @orderdir = 'asc' THEN Urunler.UrunAdi END asc,
CASE WHEN @orderColumn = 2 AND @orderdir = 'desc' THEN cast(Urunler.UrunFiyati as int) END DESC,
CASE WHEN @orderColumn = 2 AND @orderdir = 'asc' THEN cast(Urunler.UrunFiyati as int) END asc
SET NOCOUNT ON;
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
yeterli gelmez ise diğer aspx ve aspx.cs kodlarımıda paylaşabilirim cevap veren değerli arkadaşlara teşekkür ederim
Ekleyen: misafir
Değiştiren: cevapsitesi
13.12.16 22:29
Sayfalama ile ilgili sıkıntı yapıyorum Az/ZA sıralaması Sorunsalı
Asp.nete çok hakim değilim. Bir Sql tarasında veritabanı porsedurle sayfalamayı çekiyorum yalnız
sayfalamadaki filtreleme sadece o sayfada işlem yapıyor örn: 30 sayfa
var her sayfada 10 ürün 300 toplam ürün var azdan çoka fiyata göre
listele dendiğinde yada izme alafabeye kaçıncı sayfadaysan sadece o sayfadakileri sıralıyor
bu 30 sayfada 300 üründe yapmasını ve yeniden sayfalaması gerekmezmi bunu nasıl yapabilirim. kısaca: 30 sayfanın genelindeki ürünlerde değil işlem bu mevcut kodlarımla hangi sayfada ise onu tetikliyor. Sql prosedur kodum. ALTER PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1,
@PageSize INT = 15,
@orderColumn int,
@orderdir nvarchar(10),
@RecordCount INT OUTPUT
AS
BEGIN
SELECT ROW_NUMBER() OVER
(
ORDER BY [UrunID] ASC
)AS RowNumber,
Urunler.UrunFiyati,Urunler.StokKodu, dbo.Urunler.UrunAdi, dbo.Urunler.Nekadardandustu,
dbo.Urunler.Hit,dbo.Urunler.UrunDetay, dbo.Urunler.UrunId, dbo.Urunler.EnCokSatanlar, dbo.Urunler.Indirimdekiler,
dbo.Urunler.Resmi2, dbo.Urunler.Resmi, dbo.Urunler.Onay,
dbo.Urunler.Vitrin, dbo.UrunKategoriler.UrunKategoriAdi
INTO #Results FROM dbo.Urunler INNER JOIN dbo.UrunKategoriler ON dbo.Urunler.UrunKategoriId = dbo.UrunKategoriler.UrunKategoriId order by
CASE WHEN @orderColumn = 1 AND @orderdir = 'desc' THEN Urunler.UrunAdi END DESC,
CASE WHEN @orderColumn = 1 AND @orderdir = 'asc' THEN Urunler.UrunAdi END asc,
CASE WHEN @orderColumn = 2 AND @orderdir = 'desc' THEN cast(Urunler.UrunFiyati as int) END DESC,
CASE WHEN @orderColumn = 2 AND @orderdir = 'asc' THEN cast(Urunler.UrunFiyati as int) END asc
SET NOCOUNT ON;
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
yeterli gelmez ise diğer aspx ve aspx.cs kodlarımıda paylaşabilirim cevap veren değerli arkadaşlara teşekkür ederim
Ekleyen: misafir
En fazla 3 eski durum gösterilir.