none
C# Split kullanım sorunu RRS feed

  • Genel Tartışma

  • Merhaba daha önce aşağıda belirtilen konuyla alakalı konu açmış ve çözümü bulmuştuk fakat şuan bu sorunla alakalı başka bir sorun çıktı ve konuyla alakalı yardımlarınızı bekliyorum. Kısaca anlatayım.

     https://social.msdn.microsoft.com/Forums/tr-TR/efdd0ee0-020b-4566-a118-166237107af2/c-ile-sql-veritabanna-artan-ve-mkerrer-olmayan-sra-no-verme?forum=csharptr

                    int atlama = 1;
                    string güncelyıl;
                    güncelyıl = DateTime.Now.Year.ToString();
                    baglanti.Open();
                    SqlCommand cmd = new SqlCommand();
                    String query = "SELECT MAX (KomSayi) FROM Ek;";
                    cmd.Connection = baglanti;
                    cmd.CommandText = query;
                    String x = cmd.ExecuteScalar().ToString();
                    label1.Text = x.ToString();
                    
                    string[] YIL;
                    YIL = x.Split('/');
                    for (int i = 0; i <= YIL.LongLength -2; i++)
                    { label3.Text = (YIL[i].ToString()); }

                    string[] Sıra;
                    Sıra = x.Split('/');

                    for (int i = 0; i <= Sıra.Length -0; i++)
                    { label4.Text = (Sıra[i].ToString()); }

                    if (güncelyıl == label3.Text)
                    {
                        label4.Text = (Convert.ToInt32(label4.Text) + 1).ToString();
                        lblSıraNo.Text = (güncelyıl + "/" + label4.Text);
                        txtKomisyonNo.Text = lblSıraNo.Text;
                    }

    Hızlıca hazırladığım örnek kodlamam yukarıda benim sorunum şu 2015/1 yazan bir veriyi ben  değişkenlerin birine 2015 olarak biri nede / dan sonra gelen ilk değeri çektiriyorum yani örneğe göre 1 geliyor ve bunları koşula göre uygunsa +1 olarak devam ettiriyorum buraya kadar sorun yok sorun şurada başlıyor. 2015/1,2,3,4,6,7,8,9,2015/10 olduğunda sıra numarası split de / dan sonra gelen ilk değeri almasını söylediğim için gene 2015/1 çıkarıyor 2015/10... çıkartması gerekirken bana şunu söyleye bilir misiniz. split öyle bir tanımlanacak ki / dan sonra kaç değer varsa onun tamamını alacak yani /1 se 1 i 2015/1200 ise 1200 almasını istiyorum. Muhtemelen basit bir şey ama kafa çalışmadı formlar dada konuyla alakalı yardımcı olacak bir veri bulamadım yardımlarınızı bekliyorum. Teşekkür ederim.

    21 Aralık 2015 Pazartesi 07:04

Tüm Yanıtlar

  • var ikinci ="2015/200000".Split()[1];//Buradaki index e göre istediğini alabilirsin.
    
    Console.WriteLine(ikinci);//200000
    
    


    Mail Blog Web Site

    21 Aralık 2015 Pazartesi 07:09
  • Cevap için teşekkür ederim ama örnek uygulamama göre bir düzenleme yapa bilme şansınız var mıdır acaba.
    21 Aralık 2015 Pazartesi 07:15
  • Cevap için teşekkür ederim ama örnek uygulamama göre bir düzenleme yapa bilme şansınız var mıdır acaba.

    Dostum sen şunu yapacaksın.

    var ikinci =seninYilKolonununIceriği.Split()[1];//Buradaki index e göre istediğini alabilirsin.
    
    Console.WriteLine(ikinci);//200000


    Mail Blog Web Site

    21 Aralık 2015 Pazartesi 07:34
  • Yalnız şöyle bir sorun fark ettim split de sorun yok veri tabanından çektiğim maksimum değerle alakalı sorun var o da şöyle veriyi çekiyor 1 den 9 kadar fakat değer 1 arttımı yani 10 olduğunda duruyor. veri tanındaki ilk sıra numarasını 2015/10 verdiğimde bu sefer kodlama 2015/99 a kadar düzgün çalışıyor 100 de duruyor bunu nasıl çöze bilirim bilginiz var mı peki  bi yerde yanlış mantık kurdum belliki
    21 Aralık 2015 Pazartesi 07:35
  • Merhaba

    Anladığım kadarı ile x ile tabir ettiğin değişkenin içeriği örnek olarak 2015/15. 2015 kısmı yıl, 15 kısmı ise sıra.

    YIL=x.Split('/'); dediğin vakit x i '/' a göre parçalayacak ve her parçayı yıl dizisine sıra ile atacaktır. Yani YIL[0].ToString() dediğinde 2015 , YIL[1].ToString() dediğinde 15 yazısını elde edersin.

    İyi çalışmalar...

    21 Aralık 2015 Pazartesi 09:28