Arkadaşlar merhaba C# veribaglantısı ve acces ile ilgili şöyle bir sorunum var. Acceste oluşturduğum veritabanını “Debug†klasörünün içine attım ( no ,adi,soyadi ) sütunlarını oluşturdum no = birincil anahtar ve otomatik sayı olarak ayarlayıp birkaç kaydı elle girdikten sonra accesi kapattım. Sonra C# ile bağlantımı oluşturdum, datagridview de veritabanındaki bilgilerin listelenmesini sağladım. Buraya kadar herşey normal, bundan sonrası bana göre tamamen saçmalık. Ki bilgi eksikliğinden de kaynaklı olabileceğini düşündüğüm için siz değerli dostlara bu sorunumu iletmek istedim. Evet dediğim gibi C# listele ve bağlantı çalışıyor. Kaydet butonuna basınca tesxt alanlarına girilen değerlere göre datagridde kaydetigimiz yeni değer görünüyor, fakat kapattıktan sonra tekrar f5 ile çalıştır yaptığımda herhangi bir verinin eklenmediğini gördüm. Bin klasöründeki acccesi de açınca orda da bir şey eklenmediğini gördüm. İlk sorunum bu. Çalıştığım formda kaydettiğim veriler listeleniyor ve kayıt gerçekleşiyor. Ama nedense formu kapattıktan sonra yine eski değerler yerini alıyor. Bu neden kaynaklı olabilir ?
İkinci sorunum da şu. Eklediğim resimlerden de görüleceği üzere DEBUG ve anaklasör içinde bulunan acces veritabanı içindeki bilgiler farklılık gösteriyor. Eklediğim resimlerde daha açıklayıcı anlattığım var lütfen oraya bakın. Özeti şu her iki klasördeki acces bilgileri neden uyuşmuyor ? ve c# acccesteki verileri debug üzerinden okuması gerekmez mi neden diğer klasördeki accesi okuyor ?
Son olarak biliyorum çok uzattım şimdiden özürlerinize sığınıyorum. C# da yazdığım kodlar bir projede çalışyor başka bir projede çalışmıyor. Örnek veercek olursak Üç farklı sil kodu yazdım. Bu üçüde çalışmıyor ? ki diğer projelerde çalışıyordu
void sil1 () { baglanti.Open(); OleDbCommand komut = new OleDbCommand("delete from tablono where no=@no", baglanti); komut.Parameters.AddWithValue("@no", dataGridView1.CurrentRow.Cells[0].Value.ToString()); OleDbDataAdapter adtr = new OleDbDataAdapter(komut); DataTable dt = new DataTable(); adtr.Fill(dt); dataGridView1.DataSource = dt; listele(); baglanti.Close();
}
void sil2() { baglanti.Open(); OleDbCommand komut = new OleDbCommand("delete from tablono where no=@no", baglanti); komut.Parameters.AddWithValue("@no", dataGridView1.CurrentRow.Cells[0].Value.ToString()); komut.ExecuteNonQuery(); listele(); baglanti.Close();
} void sil() { baglanti.Open(); OleDbCommand komut = new OleDbCommand(); komut.Connection = baglanti; komut.CommandText = "DELETE FROM tablono Where no=@no"; komut.Parameters.AddWithValue("@no", dataGridView1.CurrentRow.Cells[0].Value.ToString()); komut.ExecuteNonQuery(); listele(); baglanti.Close();
Bunun sebebi ne olabilir. Keza güncelle butonumda çalışmıyor ? void guncelle() { try {