Merhabalar, Android sqlitede tablo guncelleme için

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF EXISTS Tablo1");
    onCreate(db);
}

şöyle bir override edilmiş kod parçam var. Bu eğer tabloda değişiklik var ise eski tabloyu düşürüp yerine yeni tabloyu updade ediyor. Ama ben istiyorum ki yeni tabloda olup eskide olmayan verileri sadece eklesin. Çünkü eski tabloda olup yenide olmayan bazı satırlar olacak. (kullanıcı veri gerişinde bulunacak) Bu işlemi ileride proje veritabanına yeni eklemeler için güncellemek istediğimde kullanıcının ekleyeceği veriler korunmasını istiyorum.

Yarımdıcı olursanız sevinirim?

Android'de yeniyimde :)

soruldu: 25 Haz '13, 07:07

igundu91's gravatar image

igundu91
214242933
cevap kabul oranı: 20%

değiştirildi: 25 Haz '13, 07:08


merhaba, evet yenisin zira SQLiteOpenHelper sınıfının onUpgrade metodunun çalışma mekanizmasını yanlış algılamışsın; bu metot veritabanında veri manipulasyonu(bir tabloda satır silme, guncelleme vs.) gerçekleştiğinde işletilmez.

SQLiteOpenHelper sınıfından türettiğin veritabanı sınıfının örneğini alırken(nesne oluştururken) yapıcı metoda parametre olarak geçtiğin version'un değeri değişirse onUpgrade metodu işletilir. Genelde bu metot uygulamanın versiyolanmasında kullanılır, oldVersion ve newVersion parametrelerini kullanan karar yapılarını ihtiva eder.

ayrıntı için: http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

permanent link

cevaplandı: 25 Haz '13, 16:00

gturedi's gravatar image

gturedi
2.8k41538
cevap kabul oranı: 26%

değiştirildi: 25 Haz '13, 16:01

permanent link

cevaplandı: 25 Haz '13, 17:40

essp's gravatar image

essp
181239
cevap kabul oranı: 30%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×817
×39

Soruldu: 25 Haz '13, 07:07

Görüntüleme: 1,091 kez

Son güncelleme: 25 Haz '13, 17:40

powered by BitNami OSQA