Yeni bir Console projesi oluşturuyorum.
Sonra veritabanına bağlanmak için gerekli kütüphanelerimi ekliyorum.
using System.Data;
using System.Data.OleDb;
View sekmesinden Server
Explorer a tıklayıp açıyorum.
“Connect to Database” e tıklıyorum. Aşağıdaki
gibi bir pencere açılıyor.
Data Source kısmında
Microsoft Access Database File seçili olarak geliyor. Hemen yanındaki “Change” butonuna
tıklayarak bağlanacağımız Database türünü değiştirebiliriz. Ben Access veritabanına
bağlanacağım için bu kısımda değişiklik yapmıyorum. “Database File Name” kısmına
geliyorum ve “Browse” ile dosyanın yolunu belirtiyorum. Sonra alt kısma geçiyorum
ve kullanıcı adi , varsa şifremi yazıyorum. Eğer şifremiz yoksa şifre kısmını
boş bırakıyorum. “Ok” demeden önce “Test Connection” butonuna tıklıyorum ve bağlantımın
gerçekleşip gerçekleşmediğini kontrol ediyorum. “Test Connection succeeded” şeklinde
bir uyarı alıyorum.
Yeniden
Server Explorer pencereme baktığımda Access dosyam eklenmiş durumda ve üzerinde
fiş işareti var bu benim bağlantımın sağlandığını gösterir.
Şimdi
kod kısmına geçiyorum. Öncelikle kod kısmında da bağlantının kaynağını göstermem
gerekiyor. Bunun için “Server Explorer” penceremde eklediğim Access dosyasının üzerine
gelerek sağ tıklayıp “properties” diyerek özellikler kısmına geçiyorum. Buradaki
“Connection String” kısmını olduğu gibi kopyalıyorum. (Provider … diye başlayan
kısmı)Sonra aşağıdaki gibi kodumu yazıp kopyaladığım kısmı buraya yapıştırıyorum.
string byeri = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\.......";
Tırnaklar içerisine
kopyaladığımızda ilk olarak tırnak fazlalığını gidermeliyiz , sadece iki tırnak
arasında kalmalı.(yukarıdaki gibi) Sonra dikkat ederseniz “ \ ” kısımlarının altı çizili hale geldi. Bunların
hepsini “ \\ ”
seklinde düzeltiyorum. Bu işlemlerden sonra alt satıra geçiyorum ve
OleDbConnection con = new OleDbConnection(byeri);
string sorgu = "select * from uyeler";
OleDbCommand komut = new OleDbCommand(sorgu, con);
con.Open();
OleDbDataReader oku = komut.ExecuteReader();
yazıyorum. Öncelikle “OleDbConnection” ile database bağlantımı
oluşturuyorum. “sorgu” ismindeki String ifadede de sorgu cümlemi yazıyorum. Veritabanından
veri okuma-yazma işlemleri için “OleDbCommand” nesnesi oluşturuyorum. Hemen alt
satırında bağlantıyı açıyorum. Veri okuyabilmem için “OleDbDataReader” ile oku adında
bir nesne oluşturuyorum ancak burada eşitliğin karşı tarafında
“ExecuteReader()” fonksiyonunu kullandığımıza dikkat edelim.
Şimdi
while() ile veri çekelim. Kodları aşağıdaki gibi yazıyorum
while (oku.Read())
{
Console.WriteLine(oku[1] + " " + oku[2]);
}
con.Close();
Burada “Read()” fonksiyonu
ile okuma işlemini gerçekleştirdik. “oku[1]” seklindeki kullanımla da veritabanımda
bulunan 1.sutundaki verileri, “oku[2]” ile de 2.sutundaki verileri döndermiş
olduk. İşlem sonunda bağlantıyı “Close()” ile kapatıyoruz.Kodu çalıştırdığımda hata vermeden düzgün bir şekilde çalıştı.

Son olarak bu Access dosyası
bizim projemizin bulunduğu klasör içerisine kopyalanmış durumdadır. Ayrıca
program açık iken veritabanında işlemler yaparsınız visual studio da veritabanını
“refresh” etmeyi unutmayalım.
Kodun
Son Hali
using System;
using
System.Collections.Generic;
using System.Linq;
using System.Text;
using
System.Threading.Tasks;
using System.Data;
using
System.Data.OleDb;
namespace Database
{
class Program
{
static void Main(string[] args)
{
string byeri = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users \\Hp\\Documents\\Visual
Studio
2012\\Projects\\ConsoleApplication3\\ConsoleApplication3\\bin\\Debug\\deneme.accdb";
OleDbConnection con =
new OleDbConnection(byeri);
string sorgu = "select * from uyeler";
OleDbCommand komut
= new OleDbCommand(sorgu,
con);
con.Open();
OleDbDataReader oku =
komut.ExecuteReader();
while (oku.Read())
{
Console.WriteLine(oku[1]
+ " " + oku[2]);
}
con.Close();
}
}
}
|
0 yorum:
Yorum Gönder