• 11-01-2014, 15:51:15
    #1
    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);
                }
  • 11-01-2014, 15:56:13
    #2
    hocam hatayı da yazar mısın ona göre yorumda bulunalım.

    ben ilk bakışta string sql=@"delete from kayitlar where id='"+secili+"'"; satırına takıldım.

    id alanı string olarak mı tanımlı db de ?
  • 11-01-2014, 16:05:31
    #3
    devveloper adlı üyeden alıntı: mesajı görüntüle
    hocam hatayı da yazar mısın ona göre yorumda bulunalım.

    ben ilk bakışta string sql=@"delete from kayitlar where id='"+secili+"'"; satırına takıldım.

    id alanı string olarak mı tanımlı db de ?

    id alanı integer olarak tanımlı



    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:05:31 -->-> Daha önceki mesaj 16:03:55 --

    ek olarak çok teşekkürler hocam hatayı gördüm sonunda

    Alıntı
    string sql=@"delete from kayitlar where id="+secili;
    olarak değiştirdim sorun düzeldi