Local Veritabani Kullanimi – SQLLITE

Merhaba arkadaslar;

Bu makalemizde bir çogumuzun aslinda farkli farkli yöntemler kullandigi local database yöntemlerinden birisi olan “Sqlite” uygulamasini ele alacagiz. Kisaca bahsedecek olursam; normal olarak gelistirdigimiz uygulamalarda, Sql veritabani baglantisini bir sunucu bilgisayardan veya kendi local bilgisayarimizdan aliriz, lakin baska bir bilgisayarda uygulamamizi exe haline getirip çalistirmak istedigimiz zaman ya o bilgisayari TCP/IP protokolü ile sunucumuza baglamamiz ya da çalistirmak istedigimiz bilgisayara Sql uygulamasini kurduktan sonra veritabanimizi o bilgisayara tasimamiz gerekmekte. Sqlite bu konuda projemizde local bir veritabani olusturarak bu islemlerden kurtulmamiza yardimci olur (fw 3.5 destegi var 4.0 için linq.sqlite kullanabilrisiniz). Söyle bahsedecek olursak,“System.Data.Sqlite.dll” dosyasini projemize referans eklememiz gerekmekte. (SqliteCE versyonunu eklerseniz proje çalismadan hata verir onun için dogru referansi eklemeniz lazim x86 – x64 ayrimida önemli)

sql lite

Ardindan veri tabanimizi olusturalim. Veritabanimizi olusturmak için “sqliteadmin” isimli programi kullanacagiz. Programi internetten indirebilirsiniz, (Kolay bulunan bir program ve Türkçe!!:) ). Program kullanim mantigi bakimindan SqlServer ile ayni.

sqllite2

Resimde görülen sol üst kösedeki veritabani ekleme ikonuna tikladiktan sonra bize veritabanini kaydedecegimiz yeri sormakta, kolaylik olmasi için projemizin dizinine bir klasör olusturup (ben “db” adinda bir klasör olusturdum) bu klasörün içine veritabanimizi kaydedebiliriz. Çikan ekranda;

sqllite3

Tablolar sekmesine sag tiklayarak tablo olustur seçenegine tikliyoruz ve karsimiza gelen ekranda tablomuzu olusturuyoruz. Tablo olusturma islemi Sql Server ile ayni oldugu için o kisimda detaya girmiyorum. Tablomuzu olusturduktan sonra, projemizi açarak veritabani dosyamizi projemize eklememiz gerekmekte.

sql lite4

Veritabanimizi projemize ekledikten sonra gelelim kodlama ksimina;

SQLiteConnection con = new SQLiteConnection("Data Source=data/veritabani.db3");
SQLiteCommand com = new SQLiteCommand("select * from kayitlar",con);
con.Open();
SQLiteDataReader rdr = com.ExecuteReader();
    while (rdr.Read())
    {
        textBox1.Text = rdr["ad"].ToString();
        textBox2.Text = rdr["soyad"].ToString();
        textBox3.Text = rdr["tarih"].ToString();
    }
rdr.Close();
con.Clone();

Gördügünüz gibi sadece SqliteConnection kisminda connection cümlesi farkli geri kalan Ado.Net de kullandigimiz yapiyla birebir ayni. Insert,Update, Delete kisimlarida dedigim gibi birebir ayni

SQLiteConnection cnn = new SQLiteConnection("Data Source=data/veritabani.db3");
SQLiteCommand com = new SQLiteCommand("insert into kayitlar (ad,soyad,tarih) values (@ad,@soyad,@tarih)", cnn);
com.Parameters.AddWithValue("@ad", textBox1.Text);
com.Parameters.AddWithValue("@soyad", textBox2.Text);
com.Parameters.AddWithValue("@tarih", textBox3.Text);

con.Open();
               
int et= com.ExecuteNonQuery();
if (et>0)
{
    MessageBox.Show("kayitt edildi");
}
else
{
    MessageBox.Show("kayit basarisiz");
}
                
con.Close();

.

Daha sonra uygulamanizi setup dosyasi yapip, veritabaninizi Application Folder içine atinca projeniz istediginiz bilgisayarda çalislacaktir. Önemli birkaç nokta ise .dll doysasini referans olarak ekledikten sonra .dll dosyasina sag tiklayarak properties kismindan “Copy Local” özelligini true yapmalisiniz. Ayrica, projenize eklediginiz veritabani dosyasina da ayni sekilde sag tiklayip properties kismindan “copy to output directory” özelligini “copy always” yapmaniz lazim. Veritabani dosyasinin uzantisi ilk etapta farkli olabilir onu sadece yeniden adlandir diyerek “.db3”’ e çevirmeniz yeterli. Neden mi? Sadece performans olarak daha saglikli oldugunu duymustum. Benden bu kadar umarim isinize yarar…

.

Tags:

2 thoughts on “Local Veritabani Kullanimi – SQLLITE

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir