none
{"'DBNull' türünden 'String' türüne yapılan dönüştürme geçerli değil."} RRS feed

  • Soru

  • merhaba

    Projemdeki Label1.text ' te sql tablomdaki adet miktarını göstermek istiyorum.

    Bu şekilde kodu yazdım ;

    sorgu1 = "Select * From Tablo_Liste WHERE Sehir=Ankara"
            komut1 = New OleDb.OleDbCommand(sorgu1, baglan)
            dr1 = komut1.ExecuteReader()
            dr1.Read()
            Label1.Text = dr1.Item("adet")

    Fakat tabloda adet kısmı NULL ise aşağıdaki hatayı veriyor.

    {"'DBNull' türünden 'String' türüne yapılan dönüştürme geçerli değil."}

    Bu konu hakkında yardımcı olabilir misiniz.

    Teşekkürler

    11 Eylül 2020 Cuma 12:54

Yanıtlar

  • 1 : Ankara ifadesini 'Ankara' şeklinde değiştirin.

    2: Madem tek sutün lazım sorguda sadece adet belirtin

    3: label e yazdırıyorsanız ExecuteScalar kullanın

    4: dr1 'i ToString ile okuyon

    sorgu1 = "Select adet From Tablo_Liste WHERE Sehir='Ankara'"
            komut1 = New OleDb.OleDbCommand(sorgu1, baglan)
            dr1 = komut1.ExecuteScalar()
     	If dr1 IsNot Nothing Then
           		Label1.Text= dr1.ToString()
       	End If

    Not : Linq İle Çalışmanızı Öneririm.



    Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz


    11 Eylül 2020 Cuma 16:54

Tüm Yanıtlar

  • Projeniz hakkında daha fazla bilgi paylaşırsanız belki yardımcı olabiliriz. 



    Birinin cevabı size yardımcı oldu ise, lütfen "Yanıt Olarak Öner" veya "Yanıt Olarak İşaretle" olarak işaretlemeyi ve "Oy" vermeyi unutmayınız. Burada sağlanan tüm görüşler, kişiseldir ve Microsoft'un konumunu temsil etmemektedir. Tüm bilgiler hazır olarak temin edilmektedir ve herhangi bir garanti vermemektedir.

    11 Eylül 2020 Cuma 14:16
    Moderatör
  • 1 : Ankara ifadesini 'Ankara' şeklinde değiştirin.

    2: Madem tek sutün lazım sorguda sadece adet belirtin

    3: label e yazdırıyorsanız ExecuteScalar kullanın

    4: dr1 'i ToString ile okuyon

    sorgu1 = "Select adet From Tablo_Liste WHERE Sehir='Ankara'"
            komut1 = New OleDb.OleDbCommand(sorgu1, baglan)
            dr1 = komut1.ExecuteScalar()
     	If dr1 IsNot Nothing Then
           		Label1.Text= dr1.ToString()
       	End If

    Not : Linq İle Çalışmanızı Öneririm.



    Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz


    11 Eylül 2020 Cuma 16:54
  • Sorguda parametre kullanmanız gerekir, geri kalan 80 şehir için aynı sorguyu yazmıyorsunuz inşallah :) Ayrıca bu kodları yazarken yorulmuyor musunuz? 
    12 Eylül 2020 Cumartesi 09:52