access aracılığıyla ado bağlantısı
#1
merhabalar
ben sonradan öğrenme programcı olmaya çalışıyorum
access yardımıyla ado bağlantısı oluşturmak istiyorum.
mümkün mü? yardımcı olabilir misiniz?



  Alıntı
Bu mesajı beğenenler:
#2
Arkadaşım Access'ten Anlarım Fakat ADO dan hiç anlamam ama senin için bir arştırma yaptım güzelde anlatmışlar sana yapmak gerekenleri aşağıda belirttim kolay gelsin
Kod:
ADO ile ACCESS BAĞLANTISI

Delphi ile veritabanı uygulamaları geliştiren hemen her kullanıcının ilk karşılaştığı veritabanı PARADOX tabloları olmuştur. Paradox bana göre bugün de SQL kullanımına olanak vermesi, tek bir tablonun güncellenmesiyle eski uygulama dağıtımlarının veritabanı desteğini kolaylaştırması ve inanılmaz hızı ile  local veritabanı uygulamaları için çekiciliğini ve kolaylığını sürdürüyor. Ancak, Paradox’un Access, Interbase gibi tek bir database yapısı içindeki tablolardan oluşmaması yukarıda belirttiğimiz olumlu yönüne karşın özellikle yedeklemede dağınıklılığıyla bazen sorunlar da yaratabilmektedir. Çok kullanıcılı veritabanı uygulamaları için Delphi’nin bize sunduğu üstelik ücretsiz bir İlişkisel Veritabanı olan Interbase dışında tek bacaklı veritabanı uygulamalarında Delphi 5 ve sonrası ile Delphi programcılarına sunulan yeni bir olanak Microsoft’un yeni veritabanı sistemlerini Delphi programcıların kullanımına sunan ADO bileşenleridir. Bu bileşenler Microsoft Data Access Components (MDAC) yüklü bilgisayarlarda Access Veritabanı ile tek kullanıcılı hatta çok kullanıcılı uygulamalar geliştirmeyi kolaylaştırmakta, Win 98 ve sonrasıyla birlikte gelen MDAC karşı bilgisayarda varsayılan olarak zaten kurulu olduğundan ayrıca BDE yüklemeye gerek kalmamakta, kurulum dosyalarının boyutu örneğin 5 MB ‘tan 2 MB’lara düşmekte bu da bana göre ADO ve Access kullanımını çekici kılmaktadır. Ayrıca MS Access Database Desktop yanında kullanıcıya çok daha gelişmiş kolaylıklar, olanaklar ve konfor sunmaktadır.

ADO Bileşenleri:



resimde görüldüğü gibi ADO bileşenleri: sırasıyla ADConnection, ADOCommand, ADODataset, ADOTable, ADOQuery, ADOStoredProc, RDSConnection’dan oluşmaktadır. Delphi programcılarının uyum kolaylığı için sunulan ADOTable ve ADOQuery’nin kullanımı ise ufak tefek farklılıklar dışında gerçekten ilginç, kolay ve  güzel. Bu yazımda ben ADO’yu ilk kez kullanacaklara ADOTable bileşenini bir Access veritabanına nasıl bağlayacaklarını anlatacağım:


Forma yukarıda görüldüğü gibi bir ADOConnection, bir ADOTable ve bir bildiğimiz Datasource, DBGrid ve DBNavigator koyuyoruz.


ADOConnection bileşenini çift tıkladığımızda açılan diyalog penceresinde ConnectionString ile bağlantı için  Build butonunu tıklıyoruz.


Çıkan pencerede sağlayıcı olarak Microsoft Jet 4.0 OLE DB Provider’ı seçiyoruz.



Daha önce Access’te oluşturduğumuz örneğin Adres1.mdb adlı veritabanını seçip Test Connection adlı düğmeyi tıklıyoruz. Sorun yoksa “Test connection succeeded. “ diyaloğunu göreceğiz. Diyalogları kapatıyoruz.

ADOConnection bileşeninin şifre ve kullanıcı adını soran-ki her zaman pek istenmiyor- diyaloğunun çıkmasını önlemek için “LoginPromt “ özelliğine False değerini atayıp “Connected” özelliğini True yapıyoruz. Sonuçta yaptığmız bu işlemlerle ADOConnection bileşeninin “ConnectionString” özelliğine:
“Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Myprojects\Adres2_Ado\Adres1.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False “ değerlerinin atandığını göreceksiniz. Aslında ADOTable bileşeninin ConnectionString özelliğini düzenleyip tabloyu doğrudan bağlamak ta mümkün ancak çok sayıda tablo kullanmak için en iyi çözüm Database bileşeninin kullanımındaki gibi tablo, query ve diğerlerini ADOConnection’a bağlamak olacaktır.


Artık Tablonun Connection özelliğine ADOConnection1’ı, Datasource1’in Dataset özelliğine ADOTable1’i, DBGrid’i ve DBavigator’un Datasource özeliğine Datasource1’i atayıp ADOTable’ın Active özelliğini True yapabiliriz. Adres Defteri veritabanına bağlantımız gerçekleşmiştir.

Kolay Gelsin

Bildiğim kadarıyla Zeki Gürsoy adlı ustam ADO bağlantısından anlıyordu ÖM yada cevaplamasını bekle



  Alıntı
Bu mesajı beğenenler:
#3
sayın şahrapçı çok teşekkür ederim
bu forum denilen şey sayenizde çok hızlıymış anladım
forumlarda acemiliğim ortaya çıkıyor ama bilgi daha önemli



  Alıntı
Bu mesajı beğenenler:
#4
Önemli değil biz herzaman paylaşıma açığızdır Kolay gelsin



  Alıntı
Bu mesajı beğenenler:
#5
Merhaba,

Yarım kalmış bir yazımı ekleyeyim bari. Şimdilik "Connection" ile idare edin.

Alıntı: ADO (ActiveX Data Object):

ADO, Kullanıcı arayüzünden diskteki bir veritabanına bağlantı açıp üzerinde
seç, ekle, sil, değiştir işlemleri yapmamızı sağlayan bir nesne (kütüphane)dir.

ADO' in mevcut son versiyonu 2.8 dir. Bugünlerde gördüğünüz ADO.NET ile NET çatısı için ADO.NET
bir devamı değil, baştan yazılmış halidir. İşimiz .NET programlama olmadığı için
ADO 2.? konusuna değineceğiz.

-- CONNECTION NESNESİ --

Evin ihtiyaçlarını karşılamak için önce markete gitmemiz gerekiyorsa, öncelikle veritabanına
ulaşıp bağlantıyı açmamız gerekir. Connection nesnesi bunun içindir.

Hangi veritabanı olursa olsun, o veritabanının bir sağlayıcısı (Provider) ya da ODBC sürücüsü
olacaktır. ADO, bağlantıyı kendi kendine açmaz. Bu ikisinden biri mutlaka olmalıdır.
Bu sağlayıcı ya da ODBC ilişkin ConnectionString (Bağlantı metni) yazılarak bağlantı açılır.

Access için Microsoft Jet sağlayıcısı ve MS Access ODBC bağlantı metinleri aşağıdadır.
İstediğiniz biriyle bağlantı açabilirsiniz.

A-) Access 97 için;

1-) MS Jet sağlayıcısı (Access yüklü olmasa bile);

Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.ConnectionString = "Provider=Microsoft.Jet.Oledb.3.51;Data Source=C:\DB.mdb;" & _
User ID=Admin;Password=şifre"
cn.Open

Ya da kısaca,

Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.Open "Provider=Microsoft.Jet.Oledb.3.51;Data Source=C:\DB.mdb;Password=şifre"

2-) ODBC Sürücüsü (Access yüklü ise);

Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.Open _
"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\DB.mdb;UID=Admin;PWD=şifre"

B-) Access 97'den sonraki ve Access 2007'den önceki versiyonlar için;

1-)MS Jet (Sadece Jet versiyonu farklıdır);

Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.Open "Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\DB.mdb;Password=şifre"

2-) ODBC Sürücüsü (Aynı);

Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.Open _
"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\DB.mdb;UID=Admin;PWD=şifre"

C-) MS Access 2007 için;

Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.Open _
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\DB.accdb;Jet OLEDB:Database Password=şifre"



** Açılan bağlantı aşağıdaki şekilde kapatılır.

cn.Close


-Belli başlı Connection metot ve özellikleri-

A-) Özellikler:

1-)ConnectionTimeout
Bağlantı zaman aşımını saniye cinsinden ifade eder. Bağlantı açılırken değiştirilebilir.
Varsayılan 15 sn.'dir.

2-) CursorLocation
Cursor servisinin client ya da server kanadında çalışacağını ifade eder.
Varsayılan "Server" dır.

3-)Mode
Connection açılırken paylaşımlı, okunur, yazılır gibi özellikleri barındırır.
Varsayılan "Unknown" dur.

4-) Connection durumu hakkında bilgi verir.
Constant Value Description
adStateClosed 0 Nesne kapalı.
adStateOpen 1 Nesne açık
adStateConnecting 2 Nesne açılıyor.
adStateExecuting 4 Nesne komut yürütüyor
adStateFetching 8 Nesne kayıtları geziyor(Cursor & Fetch)


B-) Metotlar:

1-)BeginTrans, CommitTrans, ve RollbackTrans;
"Transaction" konusunda ayrıntılı olarak anlatılacaktır.

2-) Cancel ;
Connection nesnesi tarafından yürütülmekte olan bir komutun,
(Mode özelliğinden bilgi alınabilir) iptal edilmesini sağlar.

3-)Execute;
SQL komutu yürütmeye yarar. "SELECT" yürütüldüğünde bir recordset döndürür.



  Alıntı
Bu mesajı beğenenler:
#6
Teşekkürler Sn Zeki Ustam



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Alt Form Aracılığıyla Farklı Müşterilere Ait Değerlerin Toplamını Ana Formda Gösterme axionvb 2 522 03-03-2022, 10:49
Son Mesaj: axionvb
  Excel - Access Bağlantısı gokhan003 3 1.046 09-04-2021, 08:11
Son Mesaj: dsezgin
  [VBA] Sql Be Access Fe Iken Net Bağlantısı Yok Ise özel Mesaj Ile Uygulamayı Kapatmak schecter 1 726 09-03-2021, 16:31
Son Mesaj: dsezgin
  [FORM] ODBC bağlantısı ile SQL Server Performansı mengene 7 3.183 05-12-2019, 00:22
Son Mesaj: husem
  Sorgu-form Denetimleri Bağlantısı tarkanaykın 9 1.272 01-09-2019, 09:45
Son Mesaj: tarkanaykın
access-sql-9 [TABLO] access ODBC bağlantısı SQL server hata 53 ve 17 lzrs-9 0 947 27-12-2018, 23:24
Son Mesaj: lzrs-9
  [VBA] MySQL Bağlantısı ve Kullanımı alperalper 1 1.110 06-05-2018, 16:28
Son Mesaj: alperalper
  [FORM] Form ve Liste Kutusu Bağlantısı mmert06 2 1.237 15-12-2017, 18:19
Son Mesaj: mmert06

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi