none
karşılaştırma hatası yapıyorum RRS feed

  • Soru

  •   private void barkod_TextChanged(object sender, EventArgs e)
            {
                int uzunluk = barkod.TextLength;


                if (uzunluk >1 && uzunluk <= 13)// yapmak istediğim 13 ile 1 arasında ise
                {

                    SqlCommand komut = new SqlCommand("INSERT INTO delta(............
                    baglantı.Open();
                    komut.ExecuteNonQuery();
                    baglantı.Close();
                    listele();
                    barkod.Clear();
                    barkod.Focus();

                }

    merhaba barkodu okutup sql e göndermek için bunu yazdım borkod uzunluğunu 13 olarak sınırladım ama benim bazen 6 yada 8 karakterli barkod numaralarım oluyor böyle bir karşılaştırma yaptığımda barkod numarasını text e sadece tek haneli olarak yazıyor bu karşılaştırma ifadesi yanlış mı if (uzunluk == 13) dediğimde her şey normal çalışıyor tabi 13 haneli borkod geldiğinde   

                              
    19 Eylül 2019 Perşembe 05:45

Yanıtlar

  • Bu sekilde yazarsan, barkoda girilen her bir karakter icin kod tetiklendiginden, barkod uzunluğu kadar veritabanına kayıt yapılır (sonsuz bir sekilde bu esasla). Ornegin, klavyeden ya da barkod okuyucudan "123" girmek istersen, bu ayni ayrı 1, 2 ve 3 olarak yakalanıp veritabanına yazılacak.

    Onun yerine senin barkod okuyucundan gelen, okumanın bittiğini belirten bir kontrol karakterin olmalı (ornegin char 13 yani [enter]). Keypress eventinde o karakterin girilip girilmedigine bakarsın (ya da enter ise Lostfocus da is görebilir).



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    • Yanıt Olarak Öneren Mehmet Emin Kaymaz 19 Eylül 2019 Perşembe 12:48
    • Yanıt Olarak İşaretleyen Yasin AKAR 19 Eylül 2019 Perşembe 13:51
    19 Eylül 2019 Perşembe 12:04
    Yanıtlayıcı

Tüm Yanıtlar