none
İki sayı arasındaki fark RRS feed

  • Soru

  • Merhaba,

    Elimde iki tane sayı var birisi başlangıç diğer bitiş sayısı. Örneğin (başlangıç) A0000001 (bitiş) A0000050. Yapmak istediğim şey bu iki sayı arasında kalan değerleri otomatik olarak veritabanıma kayıt ettirmek. Bunu nasıl yapabilirim?

    Teşekkürler.

    24 Kasım 2015 Salı 08:48

Yanıtlar

  • Bu iki deger arasindaki degerler, herhangi bir anda hesaplanabilen degerler. Neden veritabanina kaydetmek istiyorsun? Herhangi bir anda bos olanlari tespit etmek icin mi? Yani veritabanin nedir, nasil bir tablo yapin ve amacin var, bunlari belirtsen cok daha faydali.

    Yoksa isin icinde veritabani lafi etmeseydin, senin "sayi" dedigin bir harfle ve 9 rakamdan olusan bir sey ise:

    string baslangic = "A0000001";
    string bitis = "A0000050";
    
    int bsl = int.Parse(baslangic.Substring(1));
    int bts = int.Parse(bitis.Substring(1));
    
    var seri = Enumerable.Range( bsl, bts-bsl+1)
      .Select(e => "A"+e.ToString().PadLeft(9,'0'));
    

    • Yanıt Olarak İşaretleyen Arshenick 24 Kasım 2015 Salı 14:09
    24 Kasım 2015 Salı 11:35
  • Sanırım fatura numarası. O zaman öncelikle Seri den arındırman lazım. SubString, Split gibi bir fonksiyon yardımıyla baştaki rakam olmayan karakterleri atıp geri kalanı int türüne çevirirsen başlangıç ve bitiş değerleri elinde olmuş olur. Sonra da bunlara göre işlem yapabilirsin.

    Her şeyi denediğin halde yapamadıysan henüz denemediğin şeyler var demektir.

    • Yanıt Olarak İşaretleyen Arshenick 24 Kasım 2015 Salı 14:10
    24 Kasım 2015 Salı 08:54

Tüm Yanıtlar

  • Sanırım fatura numarası. O zaman öncelikle Seri den arındırman lazım. SubString, Split gibi bir fonksiyon yardımıyla baştaki rakam olmayan karakterleri atıp geri kalanı int türüne çevirirsen başlangıç ve bitiş değerleri elinde olmuş olur. Sonra da bunlara göre işlem yapabilirsin.

    Her şeyi denediğin halde yapamadıysan henüz denemediğin şeyler var demektir.

    • Yanıt Olarak İşaretleyen Arshenick 24 Kasım 2015 Salı 14:10
    24 Kasım 2015 Salı 08:54
  • Şimdi kızmazsanız bişey sorcam; finansal bir iş yapıyorsunuz, ve 1 ile 50 arasındaki sayıları alamıyorken kendinize nasıl güveniyorsunuz da kullanıcıya bu yazılımı vereceksiniz, nasıl bir cesarettir bu? Sizin yanlış hesabınızdan dolayı kullanıcı yanlış vergi beyan etse ve kesilen ceza için sizi sorumlu tutsa ne yapacaksınız?

    Not: eğer hakaret / küçümseme vs algıladıysanız msorumu yok sayın.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    24 Kasım 2015 Salı 09:29
    Moderatör
  • Olcay Bey teşekkür ederim yorumunuz için. Önay Bey kızmadım çünkü söyledikleriniz gayet doğru fakat zaten finansal bir işlem yapmıyorum herhangi birine de pazarlama yapmıyorum. Sadece öğrenmeye çalışıyorum.
    24 Kasım 2015 Salı 10:01
  • Okdir sorun yok ozaman, aman deyim bu konularda dikkatli olun.

    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    24 Kasım 2015 Salı 11:21
    Moderatör
  • Bu iki deger arasindaki degerler, herhangi bir anda hesaplanabilen degerler. Neden veritabanina kaydetmek istiyorsun? Herhangi bir anda bos olanlari tespit etmek icin mi? Yani veritabanin nedir, nasil bir tablo yapin ve amacin var, bunlari belirtsen cok daha faydali.

    Yoksa isin icinde veritabani lafi etmeseydin, senin "sayi" dedigin bir harfle ve 9 rakamdan olusan bir sey ise:

    string baslangic = "A0000001";
    string bitis = "A0000050";
    
    int bsl = int.Parse(baslangic.Substring(1));
    int bts = int.Parse(bitis.Substring(1));
    
    var seri = Enumerable.Range( bsl, bts-bsl+1)
      .Select(e => "A"+e.ToString().PadLeft(9,'0'));
    

    • Yanıt Olarak İşaretleyen Arshenick 24 Kasım 2015 Salı 14:09
    24 Kasım 2015 Salı 11:35
  • Sayıların veritabanında tutulmasının amacı daha sonradan içlerinden herhangi bir sayının kullanılacak olmasıydı. Sorunumu hallettim, cevabınız için teşekkür ederim Çetin Bey. 
    24 Kasım 2015 Salı 14:09