ADO.NET İle Access Veri Tabanındaki Kayıtları Listeleme(ConsoleApplication)

19 Şubat 2007 – 01:38

Bu yazıda Access
veri tabanındaki kayıtları Console uygulamasında nasıl listeleyeceğimizi
anlatmaya çalışacağım.

            İlk
olarak Access de aşağıdaki gibi bir veri tabanı oluşturalım.

Bu hazırladığımız
veri tabanını hardiskimizde herhangi bir yere kayıt edelim. Ben bu
uygulamada veri tabanını C sürücüsüne kaydediyorum. Doğal olarak Access
e bağlantıda kullanılacak data source de aşağıdaki gibi oluyor.

   


Data
Source=C: /okul.mdb   (.mdb Access in uzantısıdır.)

Veri tabanını
hazırladıktan sonra bu veri tabanına c# ta ADO.NET ile nasıl bağlantı
kurup buradaki verileri nasıl okuyacağımıza geçelim. Bu işlemi Console
uygulaması olarak yapacağız.

 

1-) Console
Application

 

 İşlemleri nasıl
yaptığımızı kodun ve kodun nasıl çalıştığını adım adım anlatmaya
çalışacağım.

 


//ADO.NET in temel isim zayı(namespace) System.Data dir.


//Örneğin SQL ile çalışırken ayrı ayrı hem SqlClient hem de OleDb isim
uzaylarını kullanabiliriz.


//SqlClient isim uzayı yalnızca sql sunucu için optimize edilmiştir.


//Access veri tabanı ile çalışacaksak System.Data.OleDb isim uzayını
kullanmamız gerekir.

 

           

using

System.Data.OleDb;

 


namespace

ConsoleApplication1

{

   
class Program

    {

       
static void
Main(string[] args)

        {

 


// Access ile bağlantı için gerekli provider ı yazıyoruz.


// Veri tabanımızın yerini belirtiyoruz.


 


string

kaynak="Provider=Microsoft.Jet.OleDb.4.0;
Data
Source=c:/okul.mdb;";


//Connection sınıfından baglan nesnemizi türetiyoruz.

           
OleDbConnection baglan =
new
OleDbConnection
(kaynak);

 


//bağlantımızı açıyoruz

           
baglan.Open();

 


//Bağlantı açıldıktan sonra aşağıdaki mesaj yazdırılıyor.

           
Console.WriteLine("Bağlantı
açıldı…"
);

 


//OleDbCommand sınıfından komut nesnesini türetiyoruz.

           
OleDbCommand komut =
new
OleDbCommand
();

 


//komut nesnesinin baglan nesnesi ile çalışacağını belirtiyoruz.

           
komut = baglan.CreateCommand();

 


//Komut nesnemizin ne iş yapacağını yazıyoruz.


//Aşağıdaki sql komutundan da anlaşılacağı gibi komut sınıf tablosundaki
//tüm kayıtları seçiyor.

           
komut.CommandText = "SELECT * FROM sınıf";

 


//OleDbDataReader nesnemizi türetiyoruz.

           
OleDbDataReader oku;

 


//ExecuteReader() fonksiyonu CommandText deki komutu çalıştırır.


//Yani aşağıdaki kodun açıklaması komut.CommandText = "SELECT * FROM
//sınıf"; çalıştırarak seçme işlemini yap. Okuma işlemi ise Read()
//fonksiyonuyla yapılar

           
oku = komut.ExecuteReader();

 


//Dos ekranında çıktının daha düzenli görünmesi için aşağıdakileri
yazdırıyoruz.


//burada \t{0} demek tab tuşuna basılmış gibi boşluk bırak ve birinci
//eleman olarak No yu yaz,


//boşluk bırak İsim i yaz gibi.. Ekranda aşağıdaki gibi görünür.

src="es3_files/image001.jpg" v:shapes="_x0000_s1025">

           
Console.WriteLine("\t{0}\t{1}\t{2}","No","İsim","soyad");

           
Console.WriteLine("\t{0}\t{1}\t{2}","—–","—–","—–");

 

 


//Sıra kayıtları okumak için döngü kurmaya geldi. Döngü kuruyoruz çünkü
veri tabanımızda birden fazla kayıt var.


//Aşağıda while döngüsü veri tabanındaki kayıtlar bitene kadar çalışır
ve //okunacak kayıt kalmayınca döngüden çıkar.


//Okuma işlemini görüldüğü gibi while ın içinde Read() fonksiyonuyla
//yapıyoruz.

           
while (oku.Read())

            {

  
Console.WriteLine("\t{0}\t{1}\t{2}",oku["no"],oku["isim"],oku["Soyad"]); 

            }

 


//Son olarak kayıtlarımızın tümünü okuyunca bağlantımızı kapatıp mesaj
veriyoruz ve görüntünün ekranda beklemesi için Console.Read()
fonksiyonunu kullanıyoruz.

           
baglan.Close();

           
Console.WriteLine("Bağlantı
kapandı…"
);

           
Console.Read();

      }

   }

}

 

 

Kodumuzu yazmayı
bitirdikten sonra çalıştıralım.

Görüldüğü gibi
Access veri tabanındaki kayıtların tümünü listelemiş olduk. Bir sonraki
yazıda aynı uygulamanın Windosw Application da nasıl yapıldığını
anlatacağım.

İyi çalışmalar…

Bookmark and Share

Post a Comment

Subscribe without commenting