OleDB ile Access Veritabanına Bağlanmak ve SQL Komutları Çalıştırmak

Bu makale sonunda, oledb ara birimi ile, Access veritabanına nasıl bağlanabileceğiniz hakkında bilgilenebilirsiniz.

Bu makaleyi okuduktan sonra, şuradaki linke tıklayarak, “C# ExecuteScalar, ExecuteNonQuery ve ExecuteReader Kullanımı” başlıklı makaleme ulaşabilirsiniz.

 


 

OleDB nedir?

Sql server haricindeki veritabanlarına (Access ve diğer veritabanları) bağlanmak için kullanılan bir arabirimdir.

 

Oledbconnection: Bir veri kaynağına bağlantı oluşturmak için;

Oledbcommand: Sql komutlarını çalıştırmak için;

OledbDatareader: Veri kaynağından verileri okumak için kullanılır.

 

Bu sınıfları kullanmak için aşağıdaki namespaceleri eklemek gerekmektedir.

using System.Data.OleDb;

using System.Data;

 

 

insert,update,delete gibi komutları çalıştırmak için;

OleDbConnection db_baglanti;    

db_baglanti = new OleDbConnection(“Provider=Microsoft.ACE.OLEDB.12.0;DATA Source=veritabani_dosyasi.accdb”));

//üstteki kodlar ile db_baglanti nesnesi tanımlanıp provider ve veritabanı yolu belirtilmektedir. 

db_baglanti.Open();

//veritabanına bağlantı gerçekleştirilmektedir. 

OleDbCommand db_komut;

string sql= “insert into tablom(adi,soyadi) values(‘deneme ad’,’deneme soyad’)”;

db_komut = new OleDbCommand();

//db_komut adlı bir command nesnesi oluşturuluyor. 

db_komut.commandText=”insert into tablom(adi,soyadi) values(‘deneme ad’,’deneme soyad’)”;

db_komut.connection=db_baglanti;

db_komut.ExecuteNonQuery();

//komut çalıştırılır. Geriye değer dönmeyeceği için ExecuteNonQuery kullanılır. 

db_baglanti.Close();

//Veritabanı kapatılır.

 

 

Select komutu çalıştırıp datareader ile veritabanından veri okumak;

OleDbConnection db_baglanti;

db_baglanti = new OleDbConnection(“Provider=Microsoft.ACE.OLEDB.12.0;DATA Source=veritabani_dosyasi.accdb”));

db_baglanti.Open();

OleDbCommand db_komut;

db_komut = new OleDbCommand();

db_komut.connection=db_baglanti;

db_komut.commandtext=”Select * from tablo”;

OleDbDataReader alinan_veri;

alinan_veri = db_komut.ExecuteReader(); //geriye değer öneceği için executereader kullanılıyor.

while (alinan_veri.Read())

{

Label1.Text =Label1.Text+ (alinan_veri[“alanadi”]+”<br />”); //değerler sırasıyla label1’e yazdırılıyor.

}

db_baglanti.Close(); //veritabanı kapatılıyor