Başlangıç > Kodlar > Delphi.Net’de access veritabanı(MDB) ile bağlantı kurmak

Delphi.Net’de access veritabanı(MDB) ile bağlantı kurmak


Dot net te orneklere mdb (access veritabanı) ile bağlantıyla devam ediyoruz...

oncelikle şunu belirteyim hemen hemen herşey sql server a bağlantıyla aynı gibi...
Farklı olarak oledb nesnelerini kullanacağız..

İlk kodla başlıyoruz....


var
con : oledbconnection;
cmd :oledbcommand;
begin
con :=oledbconnection.Create('Provider = Microsoft Jet 4.0 OLE DB Provider;Mode=readwrite; Data Source=' + Server.MapPath('./') + 'kleopatra.mdb');
cmd:=oledbcommand.Create('UPDATE Tablo1 set adi="sakzu" where soyadi="sakzu"',con);
con.Open;
cmd.ExecuteNonQuery;
end;

bur da gerekli şeyleri açıklayayım. Connection stringimiz sql server le biraz farklı
Siz sadece kleopatra.mdb yazan yere kendi veritabanınızın yolunu yazıcaksınız orneğin
sizin veritabanınınz kök dizinde db klasorunde olsun ve dosyanızın adıda
kleopatra olsun . ozaman oraya 'db/kleopatra.mdb' olarak değiştireceksiniz...

geri kalan yerlerine dokunmanıza gerek yok

command nesnesinin oluşturulması sırasında sorgusu ve baglantısı belirtiliyor bu ornekte.
Bu genelde kodu kısa tutmak için kullanılan bir yoldur.

Alttaki ornektede sql ifadesinin çalıştırılmasının başka bir yolu var..

var
con : oledbconnection;
da  : oledbdataadapter;
ds :dataset;
begin
con :=oledbconnection.Create('Provider = Microsoft Jet 4.0 OLE DB Provider;Mode=readwrite; Data Source=' + Server.MapPath('./') + 'kleopatra.mdb');
da:=oledbdataadapter.Create('UPDATE Tablo1 set adi="sakzu" where soyadi="sakzu"',con);
ds:=dataset.Create;
con.Open;
da.Fill(ds);

end;

burdada gorduğunuz gibi dataadapter ile aynı işlemi yapıyoruz. Dataset burda komutun işlenmesi için gerekiyor... aMA ONUN DIŞINDA HER HANGİ BİR GÖREVİ YOK...

Altta dataadapterli bir örnek daha mevcut burda dataset te kullanılmıyor.

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
con : oledbconnection;
da  : oledbdataadapter;

begin
con :=oledbconnection.Create('Provider = Microsoft Jet 4.0 OLE DB Provider; Data Source=' + Server.MapPath('./') + 'kleopatra.mdb');
da:=oledbdataadapter.Create;
da.InsertCommand:=oledbcommand.Create('insert into tablo1 (adi,soyadi) values("doda","sakzu")');
da.InsertCommand.Connection:=con;
con.Open;
da.InsertCommand.ExecuteNonQuery;
con.Free;
end;

bu ornekte gorulduğu gibi dataadapter in insertcommand nesnesi kodla uzerinde oluşturuluyor ve command nesnesi gerekmeden işlemler yapıla biliyor..

Şimdi de sıra select ile verileri alıp ekrana aktarmakta...

procedure TWebForm1.Button3_Click(sender: System.Object; e: System.EventArgs);
var
con : oledbconnection;
cmd : oledbcommand;
dr  : oledbdatareader;
begin
con :=oledbconnection.Create('Provider = Microsoft Jet 4.0 OLE DB Provider; data source="'+Server.MapPath('./')+'kleopatra.mdb";persist security info=False');
cmd :=oledbcommand.Create('select * from tablo1');
cmd.Connection:=con;
con.Open;
dr:=cmd.ExecuteReader;
while (dr.read) do
begin
response.write(dr['kno']);
response.write('       ');
response.write(dr['adi']);
response.write('       ');
response.write(dr['soyadi']);
response.write('<br>');
end;
con.Free;
end;

gorulduğu uzere dataadapter olmadan burda dataları çekip yazdırıyoruz ama eğer datasete çekmek gerekseydi ozaman dataadapter gerekecekti... Datareader in read functioni ile işlemler çık basit olarak yapılıyor ve butun kayıtlar sıra ile okunuyor select ile çekilen.

Bir kaç ip ucu: burdaki kodları eğer c# veya vb biliyorsanız vb.net veya c#net tede uygulaya bilirsiniz sadece syntx farklı. hatta nesne isimleri bile aynı. Bu yuzden geçişlerde fazla zorlanmazsınız..

Mdb bağlantıları ufak veritabanı gereken yerlerde kullanmanızı oneririm. BUyuk işlerde sizi yarı yolda bırakabilir..

Mdb ye yazışlarda güncellenebilir sorgu kullanmanız gerekiyor gibi bir hata veririse dosya  , klasor izinlerinizi kontrol ediniz.



doğan dağdelen
sakzu@hotmail.com


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: