none
Tabloya ekleme yaparken sınırlama getirme.. RRS feed

  • Soru

  • Merhaba Gridview2 tabloma normal bir şekilde giriş yapıyorum ama buna sınırlama getirmek istiyorum yani üçüncü yada beşinci tabloya giriş yapılacağı zaman "Sadece 5 giriş yapabilirsiniz" şeklinde uyarısı verdirmek istiyorum nasıl yapa bilirim?

    private void simpleButton11_Click(object sender, EventArgs e)
            {
                if (textEdit5.Text == "")
                {
                    MessageBox.Show("Please enter the pilot's name", "Enter", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textEdit5.Focus();
                    return;
                }
                if (textEdit20.Text == "")
                {
                    MessageBox.Show("Please enter the pilot's surname", "Enter", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textEdit20.Focus();
                    return;
                }
                if (comboBoxEdit5.Text == "")
                {
                    MessageBox.Show("Please enter the pilot's licence type", "Enter", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    comboBoxEdit5.Focus();
                    return;
                }
                if (textEdit23.Text == "")
                {
                    MessageBox.Show("Please enter the pilot's licence number", "Enter", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textEdit23.Focus();
                    return;
                }
                if (textEdit24.Text == "")
                {
                    MessageBox.Show("Please enter the pilot's phone number", "Enter", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textEdit24.Focus();
                    return;
                }
                if (textEdit25.Text == "")
                {
                    MessageBox.Show("Please enter the pilot's address", "Enter", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textEdit25.Focus();
                    return;
                }
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                    SqlCommand cmd = new SqlCommand("INSERT INTO List (NAME,SURNAME,LICENCETYPE,LICENCENUMBER,PHONENUMBER,ADDRESS) VALUES (@NAME,@SURNAME,@LICENCETYPE,@LICENCENUMBER,@PHONENUMBER,@ADDRESS)", baglanti);
                    {
                        cmd.Parameters.AddWithValue("@NAME", textEdit5.Text);
                        cmd.Parameters.AddWithValue("@SURNAME", textEdit20.Text);
                        cmd.Parameters.AddWithValue("@LICENCETYPE", comboBoxEdit5.Text);
                        cmd.Parameters.AddWithValue("@LICENCENUMBER", textEdit23.Text);
                        cmd.Parameters.AddWithValue("@PHONENUMBER", textEdit24.Text);
                        cmd.Parameters.AddWithValue("@ADDRESS", textEdit25.Text);
                        cmd.ExecuteNonQuery();
                        cmd.Dispose();
                        baglanti.Close();
                    }
                    textEdit3.ResetText();
                    textEdit5.ResetText();
                    textEdit20.ResetText();
                    comboBoxEdit5.ResetText();
                    textEdit23.ResetText();
                    textEdit24.ResetText();
                    textEdit25.ResetText();
                    listeleme2();
    
                }
            }

    28 Haziran 2018 Perşembe 11:31

Tüm Yanıtlar

  • Tabloya toplam 5 kayıt insert etmek istiyor isen İnserte girmeden önce Tablonun toplam satır sayısını alıp <= 5  ise ekleme yaparsın else ise uyarı verirsin . Gün içerisinde 5 kayıt ise tablona date eklemen lazım . Kullanıcı başına 5 ekleme diyorsan tablona User eklemesi yapman lazım . Ama her durumda  kayıttan önce tablona bir sorgu yollayıp satır sayısını döndürmen gerekir. 

    Altan Özdemir

    28 Haziran 2018 Perşembe 12:07
  • Aslında yapmak istediğim kullanıcının demo kullandığını düşünmesi yani son kullanıcıya programı yüklediğimde sadece programı denemesine izin vermesi devexpress ortamı daha pratik koşullar sağlıyor bunu daha kolay bir yol ile halledemez miyim? 
    28 Haziran 2018 Perşembe 12:26
  • Her ekleme işlemi öncesi veritabanından SELECT COUNT(id) ... WHERE xxx şeklinde bir sorgu ile elde ettiğin sayı 5 değilse ekleme yapabilsin, her select işlemi ile count değerini 6'dan çıkar (0 hakkınız kaldı demesin, 1 desin ama if'lerde 5 değerini kullanacaksın). Eğer count == 5 ise mesajını verirsin.

    Bu performans açısından pek iyi olmaz aslında ama en azından veritabanına göre cevap vereceğin için kullanıcı farklı zamaanlarda bu işlemi tekrarladığında sayım işlemi temiz olur.

    Eğer client tarafında çalışıyorsan uygulama ilk açıldığında count bilgisini global bir değişkene yazdırıp, sonra her başarılı insert işleminde +1 dersin, bu sefer değişkene bakıp mesaj verirsin hem her insert girişimi esnasında db'den count almak zorunda kalmazsın hemde itemciyi yormazsın.


    TR| 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. EN| If this is the answer to your problem, mark "Propose as Answer" and if it is helpful, you can contribute to the workig of the forum by "Voting".

    28 Haziran 2018 Perşembe 20:01