Şimdi Ara

Sql satır da if kullanımı;

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
17
Cevap
0
Favori
5.553
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • <%


    SQL = "SELECT * FROM tblVideolar WHERE Durum = "& strDBTrue &" AND Video_Kategori = XXXX ORDER BY Tarih DESC, Video_ID DESC"


    Şimdi yukardaki satırda XXXX yerine belirleyeceğim rakamların çağrılması için ne yapmalıyım.
    Elimde sayfanın üstünde elde ettiğim <%=strGecerliKategori%> adı var.

    if strGecerliKategori = Oyunlar
    Video_Kategori = 15
    and if
    strGecerliKategori = Eglence
    Video_Kategori = 22
    and if
    strGecerliKategori = Magazin
    Video_Kategori = 26
    else
    Video_Kategori = 10


    gibi bi kod kullanabilirmiyim ?
    Kullanırsamda nasıl olur acaba ?



  • istediğin tarzada bir sorgu için CASE WHEN yapısını kullanabilirsin.

    SQL = "SELECT * FROM tblVideolar WherE Durum = "& strDBTrue &" AND Video_Kategori =(CASE " & strGecerliKategori & " WHEN 'Oyunlar' THEN 15 WHEN 'Eglence' THEN 22 WHEN 'Magazin' THEN 26 ELSE 10 END ) ORdeR BY Tarih DESC, Video_ID DESC"



    < Bu mesaj bu kişi tarafından değiştirildi LaCagot -- 1 Ekim 2011; 11:25:56 >
  • quote:

    Orijinalden alıntı: LaCagot

    istediğin tarzada bir sorgu için CASE WHEN yapısını kullanabilirsin.

    SQL = "SELECT * FROM tblVideolar WherE Durum = "& strDBTrue &" AND Video_Kategori =(CASE " & strGecerliKategori & " WHEN 'Oyunlar' THEN 15 WHEN 'Eglence' THEN 22 WHEN 'Magazin' THEN 26 ELSE 10 END ) ORdeR BY Tarih DESC, Video_ID DESC"



    Çok çok teşekkür ederim;
  • Bu satır için hata verdi; farklı bir loop mu kullanmam gerekir acaba ?


    kdYardimci.Open SQL, adoCon, 1, 3
  • aldığın hata nedir. farklı CursorType ve LockType denedinmi
  • quote:

    Orijinalden alıntı: arguem



    <%


    SQL = "SELECT * FROM tblVideolar WHERE Durum = "& strDBTrue &" AND Video_Kategori = XXXX ORDER BY Tarih DESC, Video_ID DESC"


    Şimdi yukardaki satırda XXXX yerine belirleyeceğim rakamların çağrılması için ne yapmalıyım.
    Elimde sayfanın üstünde elde ettiğim <%=strGecerliKategori%> adı var.

    if strGecerliKategori = Oyunlar
    Video_Kategori = 15
    and if
    strGecerliKategori = Eglence
    Video_Kategori = 22
    and if
    strGecerliKategori = Magazin
    Video_Kategori = 26
    else
    Video_Kategori = 10


    gibi bi kod kullanabilirmiyim ?
    Kullanırsamda nasıl olur acaba ?

    if kontrolü sonucunda belirlenen değeri tmp_Video_Kategori gibi bir değişkene atayıp SQL cümlesinde XXX yazdığın yere neden eklemiyorsun?




  • quote:

    Orijinalden alıntı: kastron

    quote:

    Orijinalden alıntı: arguem



    <%


    SQL = "SELECT * FROM tblVideolar WHERE Durum = "& strDBTrue &" AND Video_Kategori = XXXX ORDER BY Tarih DESC, Video_ID DESC"


    Şimdi yukardaki satırda XXXX yerine belirleyeceğim rakamların çağrılması için ne yapmalıyım.
    Elimde sayfanın üstünde elde ettiğim <%=strGecerliKategori%> adı var.

    if strGecerliKategori = Oyunlar
    Video_Kategori = 15
    and if
    strGecerliKategori = Eglence
    Video_Kategori = 22
    and if
    strGecerliKategori = Magazin
    Video_Kategori = 26
    else
    Video_Kategori = 10


    gibi bi kod kullanabilirmiyim ?
    Kullanırsamda nasıl olur acaba ?

    if kontrolü sonucunda belirlenen değeri tmp_Video_Kategori gibi bir değişkene atayıp SQL cümlesinde XXX yazdığın yere neden eklemiyorsun?


    Örnek kod üzerinden yardımcı olabilirmisin ?
    Pek tecrübeli sayılmamda :(




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: LaCagot

    aldığın hata nedir. farklı CursorType ve LockType denedinmi

    error '80004005'

    hata kod satırında gönderdiğim satır var.

    Bahsettiğin Type lar hakkında bilgim yok açıkçası yardımcı olabilirsen çok sevinirim.
  • dim tmp_Video_Kategori

    if strGecerliKategori = "Oyunlar"
    tmp_Video_Kategori = 15
    else if strGecerliKategori = "Eglence"
    tmp_Video_Kategori = 22
    else if strGecerliKategori = "Magazin"
    tmp_Video_Kategori = 26
    else
    tmp_Video_Kategori = 10
    end if

    SQL = "SELECT * FROM tblVideolar WHERE Durum = " & strDBTrue & " AND Video_Kategori = " & tmp_Video_Kategori & " ORDER BY Tarih DESC, Video_ID DESC"

    gibi olabilir.
  • quote:

    Orijinalden alıntı: kastron

    dim tmp_Video_Kategori

    if strGecerliKategori = "Oyunlar"
    tmp_Video_Kategori = 15
    else if strGecerliKategori = "Eglence"
    tmp_Video_Kategori = 22
    else if strGecerliKategori = "Magazin"
    tmp_Video_Kategori = 26
    else
    tmp_Video_Kategori = 10
    end if

    SQL = "SELECT * FROM tblVideolar WHERE Durum = " & strDBTrue & " AND Video_Kategori = " & tmp_Video_Kategori & " ORDER BY Tarih DESC, Video_ID DESC"

    gibi olabilir.

    Yanıtın için çok teşekkür ederim;

    Şöyle bir hata aldım, acaba nasıl çözebiliriz ?

    if strGecerliKategori = "Oyunlar"
    ------------------------------^
  • dim tmp_Video_Kategori 

    if strGecerliKategori = "Oyunlar" Then
    tmp_Video_Kategori = 15
    else if strGecerliKategori = "Eglence" Then
    tmp_Video_Kategori = 22
    else if strGecerliKategori = "Magazin" Then
    tmp_Video_Kategori = 26
    else
    tmp_Video_Kategori = 10
    end if
    end if
    end if

    SQL = "SELECT * FROM tblVideolar WHERE Durum = " & strDBTrue & " AND Video_Kategori = " & tmp_Video_Kategori & " ORDER BY Tarih DESC, Video_ID DESC"



    şeklinde yaptım bu seferde;

    Microsoft JET Database Engine error '80040e10'

    No value given for one or more required parameters.

    hatası çıkıyor :(
  • öncelikle Durum ,Tarih,Video_ID alanlarının sorgulama yaptığın tabloda olup olmadığına bak. diğer olası sorun Durum değişkenini veri tipi boolean'mi ve karşılaştırma için kullandığın strDBTrue değişkeni ne tür veri döndürüyor. bu ikisi arasındaki farklıllıkta hataya neden olmuş olabilir.
  • quote:

    Orijinalden alıntı: LaCagot

    öncelikle Durum ,Tarih,Video_ID alanlarının sorgulama yaptığın tabloda olup olmadığına bak. diğer olası sorun Durum değişkenini veri tipi boolean'mi ve karşılaştırma için kullandığın strDBTrue değişkeni ne tür veri döndürüyor. bu ikisi arasındaki farklıllıkta hataya neden olmuş olabilir.

    Video_Kategori değerini ilk mesajda yolladığım gibi rakam olarak girdiğimde istediğim verileri elde edebiliyorum.

    Mevcut sayfamda <%=strGecerliKategori%> ile kategori ismini (Oyunlar, magazin etc) istediğim yerde kullanabiliyorum. Bunu kullanma şekli sql satırında farklı mı acaba ?



    < Bu mesaj bu kişi tarafından değiştirildi arguem -- 2 Ekim 2011; 13:17:23 >
  • veritabanındaki tablonda bulunan Video_Kategori alanının tipi nedir? varchar tipinde ise bu sorun olabilir.
  • quote:

    Orijinalden alıntı: kastron

    veritabanındaki tablonda bulunan Video_Kategori alanının tipi nedir? varchar tipinde ise bu sorun olabilir.


    Video_Kategori autonumber
    strGecerliKategori text



    < Bu mesaj bu kişi tarafından değiştirildi arguem -- 2 Ekim 2011; 16:45:26 >
  • Yardımcı olan herkese teşekkür ederim, problem buradaki tavsiyeler ile çözülmüştür.
  • Buradan aldığım yardımla yaptığım siteyi merak edenler için, Otomobil temalı haber,video,fotoğraf ve paylaşım sitesi: Http://oto-park.com

    Bu konudaki kodları, herhangi bir haber kategorisine girdiğimizde, orta sayfada aşağıda görünen videoların listelenmesi için kullandım.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.