Access tablosunda veri güncelleme işlemini silme işlemi gibi iki farklı yolla yapabiliyoruz. Biz yine bu örnekte ikincisini göreceğiz. Yani datagridviewin cell click özelliğini kullanacağız. Güncelleme fonksiyonumuzda, o tabloda hangi veriler varsa tek tek yazarak hangi textboxa ait olduklarını da belirteceğiz. Update komutuyla o satırdaki bütün bilgileri güncellemiş olacağız:
private void VeriGuncelleme(object sender, EventArgs e)//güncelleme
{
int ID = int.Parse(dataGridView1.SelectedRows[0].Cells[“ID”].Value.ToString());
string sorgu = “update Database1 SET ad='” + textBox1.Text + “‘, soyad='” + textBox2.Text + “‘, numara='” + textBox3.Text + “‘, okul='” + textBox4.Text + “‘ where ID=” + ID;
OleDbCommand cmd = new OleDbCommand(sorgu, baglan);
cmd.Parameters.AddWithValue(“@ad”, textBox1.Text);
cmd.Parameters.AddWithValue(“@soyad”, textBox2.Text);
cmd.Parameters.AddWithValue(“@numara”, textBox3.Text);
cmd.Parameters.AddWithValue(“@okul”, textBox4.Text);baglan.Open();
cmd.ExecuteNonQuery();
baglan.Close();
MessageBox.Show(“Veriler başarıyla güncellendi…”);
TabloGetir();
}
{
int ID = int.Parse(dataGridView1.SelectedRows[0].Cells[“ID”].Value.ToString());
string sorgu = “update Database1 SET ad='” + textBox1.Text + “‘, soyad='” + textBox2.Text + “‘, numara='” + textBox3.Text + “‘, okul='” + textBox4.Text + “‘ where ID=” + ID;
OleDbCommand cmd = new OleDbCommand(sorgu, baglan);
cmd.Parameters.AddWithValue(“@ad”, textBox1.Text);
cmd.Parameters.AddWithValue(“@soyad”, textBox2.Text);
cmd.Parameters.AddWithValue(“@numara”, textBox3.Text);
cmd.Parameters.AddWithValue(“@okul”, textBox4.Text);baglan.Open();
cmd.ExecuteNonQuery();
baglan.Close();
MessageBox.Show(“Veriler başarıyla güncellendi…”);
TabloGetir();
}
public void TabloGetir()
{
string sorgu = “select * from Database1”;
OleDbDataAdapter adp = new OleDbDataAdapter(sorgu
{
string sorgu = “select * from Database1”;
OleDbDataAdapter adp = new OleDbDataAdapter(sorgu
, baglan);
DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView1.DataSource = dt;
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = (string)(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString());
textBox2.Text = (string)(dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString());
textBox3.Text = (string)(dataGridView1[2, dataGridView1.CurrentRow.Index].Value.ToString());
textBox4.Text = (string)(dataGridView1[3, dataGridView1.CurrentRow.Index].Value.ToString());
}
{
textBox1.Text = (string)(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString());
textBox2.Text = (string)(dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString());
textBox3.Text = (string)(dataGridView1[2, dataGridView1.CurrentRow.Index].Value.ToString());
textBox4.Text = (string)(dataGridView1[3, dataGridView1.CurrentRow.Index].Value.ToString());
}
”
cmd.Parameters.AddWithValue(“@ad”, textBox1.Text);
cmd.Parameters.AddWithValue(“@soyad”, textBox2.Text);
cmd.Parameters.AddWithValue(“@numara”, textBox3.Text);
cmd.Parameters.AddWithValue(“@okul”, textBox4.Text);
”
Verdiğim satırları silsen, acaba işleyişde bir fark görebilirmisin?
Yazdığın satırlar ekstradan bir fayda getirmiyor bu program için, fakat okunulabilirliğin daha iyi olması açısından, bir de veri eklemenin kullanım şeklini anlatmak amacıyla ekledim. Dikkatin için teşekkürler:)