Forum

stored procedure il...
 
Bildirimler
Hepsini Temizle

stored procedure ile filtreleme

2 Yazılar
2 Üyeler
0 Reactions
811 Görüntüleme
(@SerdarDeniz)
Gönderiler: 2
Active Member
Konu başlatıcı
 

merhaba. stores procedur kullanarak filtreleme yapmaya çalışıyorum. 3 farklı özellik tablosunu view ile birleştirdim. stored procedur da aşağıdaki kodları yazdım. tablolardan birer özellik seçtiğimde yada tek bir tablodan yada 2 tablodan birer seçenek seçtiğimde istediğim özelliklere sahip ürünün biri geliyor. ama aynı tablodan yada farklı tablolardan birden fazla özellik seçtiğimde ürünleri getirmiyor. burada nasıl bir döngü kullanmam lazım.

 

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[urunSorgula2]
@UrunModel int,
@UrunRenk int,
@UrunMarka int
as
if(@UrunModel<1 and @UrunRenk<1 and @UrunMarka>0)
begin
select * from vw_urun where MarkaID=@UrunMarka and Durum=1
end
else if(@UrunModel<1 and @UrunMarka<1 and @UrunRenk>0)
begin
select * from vw_urun where RenkID=@UrunRenk and Durum=1
end
else if (@UrunMarka<1 and @UrunRenk<1 and @UrunModel>0)
begin
select * from vw_urun where ModelID=@UrunModel and Durum=1
end

else if(@UrunMarka<1 and @UrunRenk>0 and @UrunModel>0)
begin
select * from vw_urun where ModelID=@UrunModel and RenkID=@UrunRenk and Durum=1
end
else if(@UrunMarka>0 and @UrunRenk>0 and @UrunModel<1)
begin
select * from vw_urun where RenkID=@UrunRenk and MarkaID=@UrunMarka and Durum=1
end
else if(@UrunMarka>0 and @UrunRenk<1 and @UrunModel>0)
begin
select * from vw_urun where ModelID=@UrunModel and MarkaID=@UrunMarka and Durum=1
end

else
begin
select * from vw_urun where ModelID=@UrunModel and RenkID=@UrunRenk and MarkaID=@UrunMarka and Durum=1
end

 

 

 

ÜRÜNLER SAYFASINDA ÇEKTİĞİM KODLAR

lblUrun.Text = "";
int marka = 0, model = 0, renk = 0;
if (CheckBoxList1.SelectedValue != "")
marka = Convert.ToInt32(CheckBoxList1.SelectedValue);
if (CheckBoxList2.SelectedValue != "")
model = Convert.ToInt32(CheckBoxList2.SelectedValue);
if (CheckBoxList3.SelectedValue != "")
renk = Convert.ToInt32(CheckBoxList3.SelectedValue);

var urun = db.urunSorgula2(model, renk, marka);
foreach (var ur in urun)
{
lblUrun.Text += ur.UrunBaslik + " / " + ur.MarkaBaslik + " / " + ur.RenkBaslik +"<br>";
}

 
Gönderildi : 26/04/2017 19:11

(@volkanalkilic)
Gönderiler: 137
Estimable Member
 

“db.urunSorgula2” metodunda nasıl bir kod çalıştırdığınızı bilemiyorum ama buraya odaklanmanızı öneririm. Öte yandan veri yapınızı incelemeden bir şey söylemek zor. Size tavsiyem SP içerisinde çalıştırdığınız koşulları C# tarafında taşımanızdır. Bu sayede hem debug imkanına sahip olursunuz hem de kodu basitleştirebilirsiniz.

 
Gönderildi : 27/04/2017 00:43

Paylaş: