Anasayfa / C#.Net / C# ile Access Veritabanına Kayıt Ekleme
c# access bağlantısı

C# ile Access Veritabanına Kayıt Ekleme

Bugün C# programlama dilini kullanarak Access veritabanına nasıl kayıt ekleyebileceğimizi adım adım anlatmaya çalışacağım. Uygulamalarınızda özellikle çok büyük verilerle çalışmıyorsanız, Access veritabanını kullanmak Sql veritabanını kullanmaktan daha kullanışlı olabilmekte.

Uygulamamıza Access içerisinde kutuphane isminde bir veritabanı ve kitaplar isminde bir tablo oluşturarak başlayalım. Tablonun genel yapısını aşağıdaki gibi olacak.

access kitaplar tablosu
Access Kutuphane Veritabanı Kitaplar Tablosu

Tablomuzda görüldüğü üzere kitapid alanını Primary Key ve değeri Otomatik Sayı olacak şekilde ayarladık. Şimdi yeni bir Form Uygulaması açarak projemizi oluşturmaya başlayabiliriz. Veritabanını her zaman projenizin ana dizini içerisine taşımakta fayda var.

Access Solution Explorer
Proje Dizininde Access Veritabanı

Şimdide formumuzu veritabanında ki alanlara uygun olacak şekilde aşağıdaki gibi tasarlayalım.

kitap kayıt formu
Kitap Kayıt Formu

Formda hazır olduğuna göre sıra veritabanına kayıt eklemek için gerekli olan kodlara geldi. Projemizde halihazırda System.Data namespace’i ekli olarak gelmesi lazım. Sonrasında Access veritabanıyla çalıştığımız için System.Data.OleDb namespace’ini de ayrıca projemize ekliyoruz.

using System.Data;

using System.Data.OleDb;

Şimdi Kaydet butonuna tıkladığımızda çalışacak olan kodlarımızı yazabiliriz.

Kodları gereksiz detaylardan kaçınarak, en basit şekilde yazmaya çalıştım. Dikkat ettiyseniz veri girişlerini parametre kullanarak yaptık. Güvenlik sorunları nedeniyle kodlarınızı bu şekilde yazmanızı tavsiye ederim.

C# ile Access veritabanına kayıt ekleme işlemi yazım burada sona erdi. Kolay gelsin.

İlginizi Çekebilir!

c# müzik çalar yapımı

C# ile Müzik Çalar Yapımı

Bu dersimde Windows’un kendi müzik çaları olan Windows Media Player’ ı C# içerisin de kullanarak …


13 Yorumlar

  1. Merhaba,
    bu yapıyı aynen kullanıyorum ama sürekli “Syntax error in INSERT INTO statement” hatası alıyorum.
    Sebebi ne olabilir ?

  2. Ali hocam merhaba öncelikle insert into bir tabloya kayıt eklemek için kullanılır. access veritabanındaki tablo adınızın kitaplar olup olmadığını kontrol edin

  3. Aynı yapıyı kullanıyorum ancak yaptığım kayıtlar accesste görüntülenmiyor. Verileri accesste kalıcı hale nasıl getirebilirim?

  4. merhabalar benm 1 sorum olucak

    benm veritabanımda 1 den fazla tablo olucak istediğim tabloya eklemeyi nasıl yapabilirim

    yardımcı olursanız cok sevinirim

    • “insert into kitaplar” kitaplar yazan satırı tablonun ismiyle değiştirmen ve tablodaki sütunları(“kitapadi,yazari,yayinevi,turu,basimyili”) girmen yeterli

  5. ben access 2016 kullanıyorum ama c#ile veritabanı bağlantısı kuramıyorumProvider=Microsoft.ACE.OLEDB.12.0;Data source= bu kısımda hata veriyor sanırım burdaki kod access 2016 da değişik bu konu hakkında bilginiz varmı

  6. kütüphane.accdb veritabanını Solution Explorer da nasıl gösterdiniz ? acces 2016 da veritabanı oluşturuyorum ancak hata alıyorum bilen acil yardımcı olabilir mi?

  7. System.Data.OleDb.OleDbException was unhandled
    Syntax error in INSERT INTO statement.

    hatasını alıyorum , tablo ismimi doğru yazdım , problem nedir ?

  8. Merabalar database e döngü ile kayıt eklemek mümkün müdür?
    Şöyle ki 110 kişiden oluşan bir yoklama ekranım var ben bunların durumlarını ( var/yok/izinli ) radiobutton ile seçip databese kaydetmek istiyorum. Bu işlemi döngü ile yapabilir miyim? Yoksa her bir kişi için birer kod yazmak zorunda mıyım?

  9. An unhandled exception of type ‘System.InvalidOperationException’ occurred in System.Data.dll

    Arkadaşlar bu hatayı alıyorum çözümü nasıl olabilir.

  10. Merhabalar komut.ExecuteNonQuery(); satırında hata veriyor.

  11. Accessi , bir üst klasöre(debug) çıkarmalısın , daha sonrada connection verdiğin yerde “../” veritabanı isminin yanına bir üst klasörde olduğunu yazmalısın.

Ali için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload the CAPTCHA.