Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

Cevap Geçmişi

27.12.16 15:39
Benim verdiğim örnekte OUTPUT parametresi için bir işlem yok. Olmadığından ilgili satırda değer null dönüyor ve hata veriyor. Bu örneğe @RecordCount parametresine değer atıyor. ALTER PROCEDURE [dbo].[GetCustomersPageWise] @PageIndex INT = 1, @PageSize INT = 15, @orderColumn int, @orderdir nvarchar(10), @RecordCount INT OUTPUT AS BEGIN SELECT 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 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 OFFSET @PageSize * (@PageIndex - 1) ROWS FETCH NEXT @PageSize ROWS ONLY SELECT @RecordCount = COUNT(*) FROM Urunler END Ek: Şart Eklenmiş Hali ALTER PROCEDURE [dbo].[GetCustomersPageWise] @PageIndex INT = 1, @PageSize INT = 15, @orderColumn int, @orderdir nvarchar(10), @RecordCount INT OUTPUT AS BEGIN SELECT 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 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 WHERE dbo.Urunler.Vitrin=1 AND dbo.Urunler.Onay = 1 OFFSET @PageSize * (@PageIndex - 1) ROWS FETCH NEXT @PageSize ROWS ONLY SELECT @RecordCount = COUNT(*) FROM Urunler WHERE dbo.Urunler.Vitrin=1 AND dbo.Urunler.Onay = 1 END
Ekleyen: cevapsitesi
Değiştiren: cevapsitesi
15.12.16 18:19
Benim verdiğim örnekte OUTPUT parametresi için bir işlem yok. Olmadığından ilgili satırda değer null dönüyor ve hata veriyor. Bu örneğe @RecordCount parametresine değer atıyor. ALTER PROCEDURE [dbo].[GetCustomersPageWise] @PageIndex INT = 1, @PageSize INT = 15, @orderColumn int, @orderdir nvarchar(10), @RecordCount INT OUTPUT AS BEGIN SELECT 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 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 OFFSET @PageSize * (@PageIndex - 1) ROWS FETCH NEXT @PageSize ROWS ONLY SELECT @RecordCount = COUNT(*) FROM Urunler END
Ekleyen: cevapsitesi

En fazla 3 eski durum gösterilir.