Forum
Merhaba arkadaşlar;
Sqlde kullanıcılar adlı bir tablom var ve bu kullanıcıları datagridview'e getiriyorum. Buraya yeni bir kullanıcı eklemek istediğimde datagridview'in sonuna o kullanıcıyı yazıp kaydet butonu ile ekliyorum. Fakat aynı kullanıcı adı iki sefer kaydedilmesin diye aşağıdaki gibi yazdığımda en son eklediğim kullanıcı databasede olmamasına rağmen datagridview'i satır satır kontrol ettiği için daha önce eklediğim kullanıcılar için Bu kullanıcı adı var diye uyarı veriyor. Ben datagridviewde en son eklediğim kullanıcı var mı yok mu diye nasıl kontrol edebilirim acaba?
Teşekkür ederim.
bool durum;
void mükerrer()
{
for (int i = 0; i < YetkilendirmedataGridView.Rows.Count - 1; i++)
{
baglanti = new SqlConnection("Server=;Database=; User Id=;Password=");
baglanti.Open();
cmd = new SqlCommand("select * from Kullanıcılar where KULLANICI=@K", baglanti);
cmd.Parameters.AddWithValue("@K", YetkilendirmedataGridView.Rows[i].Cells["Kullanici"].Value.ToString());
dr = cmd.ExcuteReader();
if (dr.Read())
{
durum = false;
}
else
{
durum = true;
}
baglanti.Close();
}
}
private void YetkilendirmeKaydetbutton_Click(object sender, EventArgs e)
{
mükerrer();
if (durum == true)
{
for (int i = 0; i < YetkilendirmedataGridView.Rows.Count - 1; i++)
{
Burada kaydetme işlemini yapıyorum.
}
else
{
MessageBox.Show("Bu kullanıcı adı var", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
Merhaba @yildirimbakar;
Döngü esnasında datagridview satırınızın yeni eklenen satır olup olmadığını denetleyerek, sadece yeni eklenen satırlar için kontrol yapabilirsiniz. Aşağıdaki özellik yardımcı olacaktır.
İyi çalışmalar.
Not: Kullandığınız yapı standartlara çok uzak. SqlDataAdapter, dataset, datatable sınıflarını incelemeniz faydalı olur.