ButonaBasildiginda methodu sizin butona basma eventi içine yazılacak kodlardır.
private void ButonaBasildiginda()
{
// girilen veri
string tcStr = textBox6.Text.Trim();
// T.C no sayı ve 11 haneli olmalı.
// ilk önce boşmu değilmi sonra 11 karakter testini yapıyoruz.
if (string.IsNullOrEmpty(tcStr) || !tcStr.Length.Equals(11))
{
MessageBox.Show("T.C kimlik boş olamaz ve 11 haneli sayı olmalı.");
return;
}
// buraya ulaşmışsa demek ki 11 karakteli bir string var elimizde
// bu stringi de long a convert ediyoruz.
long tcNo = 0;
if (long.TryParse(tcStr, out tcNo))
{
MessageBox.Show("T.C kimlik no sadece sayı olmalı!");
return;
}
// fonksiyonu çağırın
string bulunanTc = this.GetTCNo(tcNo);
// null ise kayıt yok bulunamadı
if (string.IsNullOrEmpty(bulunanTc))
{
MessageBox.Show("T.C kimlik no bulunamadı :(");
return;
}
// bulundu
textBox7.Text = bulunanTc;
}
private string GetTCNo(long tcNo)
{
// buraya kadar geldiyse elimzide bir sayı var 11 haneli muhtemelen.
// artık rahat rahat sorgu atabiliriz.
// like ile değil where ile olmalı
// ve mutlaka using bloğu kullanın ki nesne otomatik yok edilsin balantı kapatılsın.
using (OleDbConnection baglanti = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\db.mdb"))
{
using (OleDbCommand komut = new OleDbCommand($"SELECT tc FROM musteri WHERE tc={tcNo}", baglanti))
{
baglanti.Open();
using (OleDbDataReader dr = komut.ExecuteReader())
{
// kayıt varsa ve okunabilir ise ilk dönen kaydı al.
if (dr.HasRows && dr.Read())
{
object dbVal = dr.GetValue(0);
if (dbVal != null && dbVal != DBNull.Value)
{
return dbVal.ToString();
}
}
}
}
}
return null;
}