Merhaba arkadaşlar bu yazımda android üzerinde SQLite veritabanı üzerinde ekleme silme ve güncelleme gibi işlemler nasıl yapılıyor kısaca göstermek istiyorum.

Android SQLite Veritabanı İşlemleri (CRUD)

Merhaba arkadaşlar bu yazımda android üzerinde SQLite veritabanı üzerinde ekleme silme ve güncelleme gibi işlemler nasıl yapılıyor kısaca göstermek istiyorum.

Öncelikle SQLite kullanmaya neden ihtiyacımız var bundan kısaca bahsedecek olursak android uygulamamızda uygulama başlarken kullanıcının adını ve soyadını alıyor olalım. Bu kullanıcı adını uygulama açık iken gerekli kodları yazarak her yerden ulaşabiliriz fakat kullanıcı uygulamayı kapattığı anda veriler  uçup gidecektir. Bu verilerin gitmemesi için bir veri tabanı kullanmamız gerekiyor. Biz verilerimizin hafızada kalması için SQLite veri tabanı kulllanıyoruz. SQLİTE veritabanını bizim telefonumuzda olan  not defteri ve rehber uygulamarını örnek olarak gösterebiliriz.

Öncelikle veritanında bir tablo oluşturmak için aşağıdaki kod parçacığını kullanıyoruz. Bu kod da "Muzisyen" adında bir veritabanı oluşturacağımızı ve güvenlik derecesini belirliyoruz.

SQLiteDatabase mydatabes=this.openOrCreateDatabase("Muzisyen",MODE_PRIVATE,null);

Veritabanı oluşturma işleminden sonra veritabanı içerisindeki sütun adlarımızı belirliyoruz. Aşağıdaki kodda name adında bir sutun VARCHAR tipinde age adında bir sutunun ise INTEGER tipinde olacağını belirledik. Create Table ile tablomuzu oluşturduk. If not exist ise name ve age gibi sutunlar veritabanı içerisinde var ise tekrardan oluşturmamasını sağlayacaktır.

mydatabes.execSQL("CREATE TABLE IF NOT EXISTS muzisyen (name VARCHAR, age INT(2))");

Sütunlarımıza veri eklemek için INSERT INTO kullanıyoruz. 

mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Ertuğrul',23)");

mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Murat',54)");

mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Yaşar',32)");

mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Cihan',12)");

Yukarıda bulunan kodda 4 adet veri ekledik. Bu verileri tamamını okumak için yazmamız gereken kod ;

Cursor cursor=mydatabes.rawQuery("SELECT * FROM muzisyen",null);

int nameIx=cursor.getColumnIndex("name");
int ageIx=cursor.getColumnIndex("age");

cursor.moveToFirst(); //İlk satıra geç

while (cursor !=null){
                System.out.println("Name:"+ cursor.getString(nameIx));
                System.out.println("Age:"+ cursor.getString(ageIx));
                cursor.moveToNext();//Bir sonraki satıra geç
        }

Bu kodda  veritabanında bulunan verileri cursor.MoveToFirst  ile veritabanının en başından başlatarak sonuna kadar okuma işlemi gerçekleştiriyoruz.

Eğer bir koşul eklemek istersek WHERE ile bunu belirleyebiliriz. Update kullanarak iseaşağıdaki kod da name alanı Yaşar olan satırların yaşının 25 olarak güncellenmesini sağlıyoruz.

 mydatabes.execSQL("UPDATE muzisyen SET age=25 WHERE name='Yaşar'");

Eğer bir veri silmek için DELETE kullanıyoruz. Aşağıdaki kod adı M ile başlayan satırları silecektir.

mydatabes.execSQL("DELETE FROM muzisyen WHERE name LIKE 'M%' ");

Bu şekilde işlemlerimizi yapabiliriz fakat bir hata ile karşılabiliriz. Hata verince programımızın kapanmaması için kodlarımızı try catch blokları arasında yazmamızda fayda var. Yukarıda yapılan işlemleri aşağıda toplu bir biçimde verilmiştir.

package com.ertugruldeniz.ertugrul.database;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            SQLiteDatabase mydatabes=this.openOrCreateDatabase("Muzisyen",MODE_PRIVATE,null); //Database oluşturma

            //mydatabes.execSQL("CREATE TABLE IF NOT EXISTS muzisyen (name VARCHAR, age INT(2))"); //Tablo aç

            //mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Ertuğrul',23)");  //Veritabanına veri ekle

            //mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Murat',54)");

            //mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Yaşar',32)");

            //mydatabes.execSQL("INSERT INTO muzisyen  (name,age) VALUES ('Cihan',12)");

            // Cursor cursor=mydatabes.rawQuery("SELECT * FROM muzisyen",null); Her şeyi seç

            //mydatabes.execSQL("DELETE FROM muzisyen WHERE name LIKE 'M%' "); Adı m ile başlayanları sil
            
           mydatabes.execSQL("UPDATE muzisyen SET age=25 WHERE name='Yaşar'");

             Cursor cursor=mydatabes.rawQuery("SELECT * FROM muzisyen WHERE age>10",null); //Yaşı 10'dan büyük olanı çeker

            int nameIx=cursor.getColumnIndex("name");
            int ageIx=cursor.getColumnIndex("age");

            cursor.moveToFirst(); //İlk satıra geç

            while (cursor !=null){
                System.out.println("Name:"+ cursor.getString(nameIx));
                System.out.println("Age:"+ cursor.getString(ageIx));
                cursor.moveToNext();//Bir sonraki satıra geç
            }

        }catch (Exception hata){
            hata.printStackTrace();
        }


    }

}

Bu yazımda  SQLite ile veritabanı işlemleri (CRUD) hakkında size elimden geldiğince anlatmaya çalıştım diğer yazılarımda görüşmek üzere...

Bu Gönderiyi Paylaş

İçerik Hakkında Yorum Yapın

www.000webhost.com