ExecuteScalar() metodu daha mantıklı olacaktır. Tabloları tamamen taramak yerine kayıt sayısına bakıp 0 dan farklı ise Mükerrer Kayıt mesajı döndürecektir.
Not: MySqL veri tabanı kullandığım için Connection,Comand, ve using eklemelerim farklılık gösterir, Kendi veri tabanınıza uyarlayınız.
Kod:
MySqlConnection BaG = new MySqlConnection("Server=localhost;Database=dB_Adi;Uid=dB_Kullanici_Adi;Pwd=dB_Sifre;");
BaG.Open();
string SoRgU = "SELECT Count(KullaniciAdi) AS Kullanici, KullaniciAdi FROM dbo_kullanicilar GROUP BY KullaniciAdi HAVING KullaniciAdi ='" + txt_KullaniciAdi.Text + "'";
MySqlCommand cMd = new MySqlCommand(SoRgU, BaG);
int sayi = (int)Convert.ToSByte(cMd.ExecuteScalar());
if (sayi != 0)
{
MessageBox.Show(txt_KullaniciAdi.Text + " KULLANICI DAHA ÖNCE KAYIT EDİLMİŞTİR.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
BaG.Close();
return;
}
else
{
bu bölüme geldi ise daha önce kayıt edilmediğinden burada kayıt kodlarınız olacak.
}
BaG.Close();