Merhaba arkadaşlar c# ile acces veritabanındaki verileri datagridview e aktardım ve seçili olanı silmek üzere bir kod oluşturdum. Fakat daha önce hiç karşılaşmadığım bir hata ile karşılaştım.

Program çalıştıktan sonra içeriği seçerek sil dediğimde silinemedi şeklinde hata alıyorum. Kodlarımda nerde sorun var çözemedim.
Yardım ederseniz çok sevinirim.


   private void button2_Click(object sender, EventArgs e)
        {


            DialogResult dialogResult = MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
          if (dialogResult == DialogResult.Yes)
            {


                string secili = dataGridView1.CurrentRow.Cells[0].Value.ToString();
              
              string sql=@"delete from kayitlar where id='"+secili+"'";
              try
              {

                  OleDbConnection baglan = new OleDbConnection(@"Provider=Microsoft.Ace.Oledb.12.0;Data Source=|DataDirectory|\\datasource.accdb;Persist Security Info=False;");
                  //Bağlantımızı Açtık
                  baglan.Open();
                  OleDbCommand komut = new OleDbCommand(sql, baglan);
                 
                  //komutumuzu çalıştırdık
                  komut.ExecuteNonQuery();
                  //En son olarak bağlantımızı kapattık.Her zaman açtığımız bağlantıyı kapatmamız gereklidir.
                  baglan.Close();
                  //Silme işlemi yapıldıysa aşağıdaki mesaj ekrana gelecek.
                  MessageBox.Show("İşlem Başarılı", "Durum");

              }
              catch
              {
                  //Silme işlemi başarısızsa aşağıdaki mesaj ekrana gelecek.
                  MessageBox.Show("İşlem Başarısız", "Durum");
              }
              //  MessageBox.Show("Kayıt başarı ile silindi...");
                Form2_Load(sender, e);
            }