C Sharp Access Veritabanı Kodla Bağlantısı

Yapacağımız Windows uygulamasında programda bir veritabanı bağlantısına ihtiyaç duyabiliriz. Bu yapacağımız uygulamalarda veri girmek, güncellemek ve silmek için bir çok farklı veritabanı kullanabilmek mümkündür. C# access veritabanı bağlantısını yaparak Access veritabanına bir çok veri girmek, veri çekmek, silmek ve güncellemek mümkün olacaktır.

 

Bu sayede istediğiniz her hangi bir fikre dayalı bir uygulama yazacağınız zaman ve birde bunun her bilgisayarda çalışabilmesi için ve büyük işlerde kullanmayacaksanız access veritabanı kullanabilirsiniz. SQL veritabanını kullanmak istiyorsanız ise programın kurulacağı bilgisayarda SQL server hizmetlerinin çalışıyor olması yada sizin programın setup ‘una bu kurulum dosyalarını eklemeniz gerekecektir.

 

 

C# Access Bağlantısı

Her hangi bir veritabanına bağlantı oluşturmadan öncesinde bizim bilgisayarımızdan Office Access uygulamasına girip yapıp bir veritabanı oluşturmamız gerekecektir. Bunun için ise Access uygulamasına girdikten sonrasında “Boş Veritabanı” seçeneğini seçip dosya yolunu belirterek ve bu veritabanına bir isim vererek kaydetmemiz gerekir.

 

Veritabanı olarak kullandığımız Acces ‘i istediğiniz yer kaydettikten sonrasında ise artık karşımıza oluşturmuş olduğumuz veritabanı açılacak ve bizden bir tablo, tablonun kolonlarına isim ve veri türünü yazmamız istenecektir. Bu kısmı videonun [00:46 – 02:56] aralığında yaptığım işlemleri inceleyebilirsiniz. Tablonun kolonlarını doldurma işlemini gerçekleştirdikten sonrasında ise artık Visual Studio ‘da açacağımız Windows formuna geçiş sağlayabiliriz.

 

C# access bağlantı cümlesine geçiş yapmadan öncesinde bizlerin bu forma bir veritabanı kullanacağını bildirmemiz gerekecektir. Kullanacağımız bu veritabanı bilgilendirmesinden sonrasında ise formumuza yazacağımız veritabanı komutları geçerlilik sağlayacak ve başarılı bir şekilde veritabanı işlemlerini gerçekleştirebilir hale geleceğiz. Bunun için ise açılan Windows Formunda formun üzerine iki kez tıklayarak kod ekranına geçin ve kod ekranının en üstünde :

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

 

using satırlarına gri ile işaretlemiş olduğum satırı ekleyerek artık bizim bir Access veritabanı bağlantısını kullanacağımızı belli etmiş bulunuyoruz. Bundan sonrasında ise artık bazı tanımlamalar yaparak veritabanı bağlanma işlemine geçebiliriz.

 

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
OleDbConnection con;
OleDbDataAdapter da;

 

Yukarıda yer alan publick partial class kısmına tanımladığımız iki adet değişken bulunmaktadır. İlerleyen vakitlerde buraya tanımlayacağımız değişkenler artıp yada azalabilir fakat burada tanımladığımız tüm değişkenleri formun içinde her yerlerde kullanabilmemiz mümkün olacaktır. Burada yer alan iki farklı değişken için açıklama yapacak olur isek :

OleDbConnection Bu nesnemiz bizim için Access veritabanına bağlantı yolunu yazdığımız ve bir isim atadığımız nesnedir. Bizler ise çağrışım yapabilmesi adına con ismini atıyoruz.

OleDbDataAdapter Bu nesnemiz ise bizim için veritabanından verileri alıp bir köprü görevi gibi taşıdığı ve DataSet ‘e aktardığı bir nesnedir. Bizler yine çağrışım yapabilmesi adına da değişkenini atıyoruz. İki parametre alır ve bunlar : sorgu cümleciği, bağlantı ‘dır.

 

Öncelikle veritabanında bazı kavramları anlamak bu kodları sürekli kullanacağımız için  C# access bağlantısı kodları sadece ezberlemek değil mantığını da kavramak gerekir. Bundan sonrasında yapacağımız işlem ise artık bizim C# access connection string cümlesini yazmak olacaktır. Bu yazacağımız kısmı ise Form Load ‘ına yazarak formumuz her yüklendiğinde bu veritabanı bağlantısı yolunu yapsın diye yazılabilir yada yapacağınız programa göre farklı kısımlara, butonlara yazabilirsiniz.

 

private void Form1_Load(object sender, EventArgs e)
{
con = new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\Gökmen Efsun\\Desktop\\veritabanı1.mdb”);

}

 

Form load kısmına yukarıda public olarak tanımladığımız con olan ve türü OleDBConnection olan nesnesine bir bağlantı yolu atamak için nesneye atadığımız değişkeni yazarak ardından new OleDBConnection yazarak yeni bir değer atayacak olduğumuzu belirtiyoruz. Daha sonrasında parantezin içinde yer alan kısımda ise .net framework sürümüne bağlı olarak değerler girmemiz gerekecektir. Eğer :

 

Provider=Microsoft.Jet.OLEDB.3.0 Yazıyor isek bizim sürümümüz 2 yada 2.5 ‘tir.

Provider=Microsoft.Jet.OLEDB.4.0 Yazıyor isek bizim sürümümüz 3 yada 3.5 ‘tir.

Provider=Microsoft.Ace.OLEDB.12.0 Yazıyor isek bizim sürümümüz 4 yada 4.5 ‘tir. Dikkat ederseniz yukarılarda Jet olan kısım olan Ace olarak değişmiş ve veritabanımızın uzantısınıda artık .mdb olmak verine .accdb olarak karşımıza gelecektir. Videoda [06-19] detaylı anlatımını bulabilirsiniz.

 

Artık bağlantı yolumuzu belirledikten sonrasında ise yapacağımız tek bir şey kaldı C# access datagridview veri çekme işlemini gerçekleştireceğiz. İşlemin en başında kendimiz veritabanına el ile bir kaç satır veri girerek programımızda bir hata yaptık mı yada düzgün çalışıyor mu adına kontrol edebilmek adına formunuzun görünümünden datagridview nesnesini formun üzerine sürükleyerek bırakın. Bundan sonrasında ise artık C# Access veri çekme işlemini gerçekleştirme adımlarına geçebiliriz.

 

private void button1_Click(object sender, EventArgs e)
{
con.Open();
da = new OleDbDataAdapter(“select * from ilktablo”, con);
DataSet ds = new DataSet();
da.Fill(ds, “sanaltablo”);
dataGridView1.DataSource = ds.Tables[“sanaltablo”];
con.Close();
}

 

  1. Yukarıda yazanları teker teker ele alacak olur isek öncelikle bizler “con.Open()” diyerek Form Load ‘ında tanımlanmış olan veritabanına bağlantı yolunu tanımlamış olduğumuz değişken olan “con“‘a atamıştık. Bu bağlantı yolunu bu değişkenden artık açmasını isteyerek veritabanına bağlanmış oluyoruz.
  2. Tekrar tipi OleDBDataAdapter olan ve tanımladığımız “da” isminde ki bu nesneye ise bu veritabanından veri alabilmek adına bir görev yükleyerek iki parametre aldığını belli etmiştik. Bunların ilki sorgu ikincisi ise bağlantı yoluydu. Bu da nesnemize ise bizler oluşturduğumuz tablodan veri çekebilmek adına bildiğimiz bir sorgu cümlesini iki tırnak içerisinde yazıp yanına virgül koyup bağlantı yolu nesnemizi yazıyoruz.
  3. Ardından köprü görevi gören DataAdapter ‘den gelen verileri üzerine almasını istediğimiz bir “DataSet” nesnesi tanımlamamız gerekiyor ve bize isminden çağrışım verebilmesi ds seçiyorum.
  4. Bir alt satırda ise yazdığımız kodu açıklayacak olur isek “da.Fill” dememiz DataAdapter nesnesinden gelen verileri doldur demektir. Pekala neye ? Parantez içine öncelikle tanımladığımız DataSet ‘in değişken ismini yazıp yanında ki kısma ise program için oluşacak sanal tablo ismini yazıyoruz. Ben anlaşılabilir olması için sanaltablo ismini kullandım fakat siz daha anlamlı bir tablo ismi kullanabilirsiniz.
  5. Artık datagridview nesnemizin datasource özelliğimize ise DataAdapter den verileri alan ve programda oluşturacağımız fakat veritabanında olmayan tablodan verileri çekmek için DataSet ‘imizi kullanıyoruz.
  6. Yaptığımız bu işlemden sonrasında ise artık bağlantımızı kapatmalıyız. Bunun için ise “con.Close()” yazıyoruz.

 

Şimdi ise bir DataSet ‘in ne iş yaptığını daha fazla açıklayacak olur isek :

DataSet Bu nesnemiz bizim DataAdapter ‘in köprü kurup veritabanından bilgileri aldıktan sonrasında DataAdapter nesnemiz DataSet ‘e aktarır. DataSet nesnemiz ise veritabanında olmayan programda bir sanal tablo oluşturarak verileri burada saklar. Yani 1 milyon satırlık veritabanınız varsa bunları her program çalıştırdığında tekrardan çekmek yerine oluşan bu sanal tablodan çekerek veritabanı yükünü azaltır ve güncellenen verileri üzerinde değişiklik yapar.

 

C# access veritabanı oluşturma ve C# access veritabanı bağlantısı nasıl yapılır hakkında artık detaylı bilgileri öğrendiniz. Bundan sonrasında ise artık veri güncelleme, silme, kaydetme gibi işlem basamaklarına geçebilirsiniz.


] }

Yorum yapın