cipscoder Merhaba,
burada düz mantık ile düşünelim. Textbox'a veri otomatik olarak geliyor anladığım kadarıyla.
Size "ekle" butonuna basmadan otomatik eklemesini istiyorsunuz. Öyleyse Textbox'un TextChanged olayını kullanarak;
Bu olay TextBox içinde bir değişiklik olduğunda tetiklenir
Veritabanına eklemeyi etkinleştirmek olacaktır.
Veritabanına ekleyen fonksiyon:
private void dbEkle()
{
baglanti.Open();
SqlCommand komut = new SqlCommand("insert into durum (numara,tarih) values (@p1,@p2)", baglanti);
komut.Parameters.AddWithValue("@p1", Durum.Text);
komut.Parameters.AddWithValue("@p2", label3.Text);
komut.ExecuteNonQuery();
baglanti.Close();
}
Fonksiyon şeklinde yazmamız yararımıza olacaktır.
Sonrasında ise verdiğiniz kodlara göre düzenleme yapalım;
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (Durum.Text.Length == 9)
{
try
{
DateTime suan = DateTime.Now;
label3.Text = suan.ToString();
dbEkle();
Durum.Text = "";
MessageBox.Show("Yoklama Başarıyla Eklendi"); ///isterseniz bu mesajı iptal edebilirsiniz.
}
catch (Exception)
{
MessageBox.Show("Yoklama Alınırken Hata Oluştu");
}
}
else { MessageBox.Show("Numaranız 9 haneli olmalıdır");
}
}