SP Where içinde if kullanımı...

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
smokie
Üye
Mesajlar: 72
Kayıt: 01 Tem 2007 10:26

SP Where içinde if kullanımı...

Mesaj gönderen smokie »

Merhabalar,

formu araştırdım bulamadım.

4 adet combobox var.

Kod: Tümünü seç

where alan1>0 
if combo1.itemindex<> 0 then
begin
alan2=combo1;
end;
if combo2.itemindex<> 0 then 
begin
alan3=combo2;
end;
bu şekilde devam ediyor.
ve bu comboboxların en üst kaydı boş. yani tüm içeriğe sahip olanları listelemesini istiyorum.

sp kullanmak istiyorum. nedeni sp de üste boş bir kayıt atabilmem.

fakat sp de where içerisinde if kullanımı yapılabiliyor mu. veya farklı bir çözümü olabilir mi.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: SP Where içinde if kullanımı...

Mesaj gönderen mrmarman »

Kod: Tümünü seç

where 1=1
deyin tüm bu sayede tüm kayıtları gösterir halde olacaktır. Siz ComboBox'ları değiştirdikçe

Kod: Tümünü seç

if combo1.itemindex >= 0 then 
begin
  SQL.Add( 'AND alan1 = ' + QuotedStr(ComboBox1.Text) );
end;
şeklinde sırasıyla tüm combobox'ları if/then sorgusuyla, sonuç olumlu ise AND bağlacı ile eklersiniz.

Şimdi gördüm SP'de kullanıcam demişsiniz. Ben Query için örneklemiştim ama durum where 1=1 ile ardından diğer hepsini and bağlamak benzer.

Bilginize...
Resim
Resim ....Resim
smokie
Üye
Mesajlar: 72
Kayıt: 01 Tem 2007 10:26

Re: SP Where içinde if kullanımı...

Mesaj gönderen smokie »

Cevap için çok teşekkür ederim.

or and ile olabilecek bir şey değil diyordum kii.

dün gece biraz uğraşında oluyormuş or and ile.

Kod bu şekilde belki faydası olur..

Kod: Tümünü seç

    and
(
    ((:deger= 0) and  ( (:deger= 0) or (alan2<>deger) ))
OR
( (:deger<>0) and  (alan2 = :deger) )
)
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: SP Where içinde if kullanımı...

Mesaj gönderen Kuri_YJ »

Ben de aynısını diyecektim,

OR veya AND ile mutlaka bu tür ifadeler olur. Zaten siz de çözmüşsünüz.


Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla