Ara 23

Silme ve güncelleme işlemlerini bir önceki uygulamamız üzerinden anlatarak devam edeceğiz. Öncelikle ekran tasarımımıza Sil ve Güncelle diye iki buton ekliyor, butonların click olaylarını veriyoruz.

Ardından Sil fonksiyonunu yazalım ve sil butonun click olayı içerisinde bu fonkiyonu çalıştıralım.

Burada çok basit bir silme işlemi yapalım.

private void silme(String id) 
       {
       	SQLiteDatabase db= ogrenciler.getReadableDatabase();
		db.delete("ogrenciisim", "id"+"=?", new String[] {id});
       }

Kendisine gelen id bilgisine göre silme işlemi yapsın. Şimdi Sil butonun click metodu içerisine gidelim.

sil.setOnClickListener(new View.OnClickListener() {

				@Override
				public void onClick(View v) {

					silme(adi.getText().toString());
					Cursor cursor = KayitGetir();
		           		KayitGoster(cursor);
						}
			});

Burada görüldüğü gibi silme isimli fonsiyonu çağırdık ve “adi” isimli editText’ten gelen veriyi içerisine gönderdik. (Biz Adı EditText’ine id bilgisini girip silme işlemi yapacağız. Basit bir örnek olması için tasarımda çok fazla değişiklik yapmak istemedim.)
Ardından;

Cursor cursor = KayitGetir();
KayitGoster(cursor);

Diyerek listenin güncellenmesini sağlıyoruz.
Uygulamamızı çalıştırdığımızda silme işleminin gerçekleştirildiğini görürüz.

18-1

 

18-2

Eğer id verisine göre değil isim verisine göre silme işlemi yapsaydık, aynı isme sahip öğrencilerin tamamı veri tabanından silinecekti.

Şimdi basit bir güncelleme işlemi gerçekleştirelim.

Öncelikle güncelle fonksiyonunu yazalım.

private void guncelle(String adi, String soyadi)
	{
		SQLiteDatabase db= ogrenciler.getWritableDatabase();
		ContentValues cv= new ContentValues();
		cv.put("isim", adi);
		cv.put("soyad", soyadi);
		db.update("ogrenciisim", cv, "isim"+"=?", new String[] {adi});
		db.close();
	}

Bu fonksiyon kendisine gelen adi ve soyadi parametrelerini mevcut kayıt ile güncelliyor. Mevcut kayıtlarda isim bilgisi ile kendisine gelen adi parametresi birbirine eşitse db.update() metodu yardımıyla güncelleme işlemini gerçekleştiriyor.

Şimdi güncelle butonunun click metodunu yazalım.

guncelle.setOnClickListener(new View.OnClickListener() {

		@Override
		public void onClick(View v) {
		guncelle(adi.getText().toString(), soyadi.getText().toString() );
		Cursor cursor = KayitGetir();
             KayitGoster(cursor);
						   }
			});

Bu metot içerisinde görüldüğü gibi adi ve soyadi EditText’lerinden gelen veriler guncelle() fonksiyonuna gönderildi. Ardından mevcut kayıtlar listesinin son halinin görüntülenmesi için,

Cursor cursor = KayitGetir();
KayitGoster(cursor);

metotları çağırıldı.

Uygulamamızı çalıştırdığımızda,

18-3

 

18-4

Buradaki güncelleme işleminin en büyük dezavantajı eğer isime göre güncelleme yapıyorsak (ki bu uygulamamızda basit olması için öyle yaptık) aynı isimden birden fazla kayıt olması halinde, tüm kayıtlar üzerinde güncelleme işlemi gerçekleşir. En doğru sonuç kaydın id bilgisine göre güncelleme olmalıdır. Bununla ilgili örnekleri de ilerleyen zamanlarda yapacağız. Şimdilik güncelleme işleminin nasıl olduğunu, db.update() metodunun nasıl kullanıldığını öğrenmiş olalım.

Yorum Yaz