Turkcell | Geleceği Yazanlar

Sqllite data base

merhaba,

veri tabanına kod içerisinden manuel olarak veri kaydetmek istiyorum.(daha sonra sorgu yapıcam). methodu yazdım. onCreate () içerisinde çağırdığımda, programı her çalıştırdığım zaman veriyi bi daha kaydediyor. onCreate() içerisinde çağırmasam bu seferde veri tabanına kaydetmiyor. Bunu nasıl hallederim , basit bi kod yazabilir misiniz ? 

teşekürler..

    0

    Mümin Başol

    +905452366576 - 09 Mart 2014

    @Bekir Dursun

    mantığı anlamadım

    
    
    
    	private int veriEkle(){
    
    
    	  ContentValues cv = new ContentValues();
    
    
    	  cv.put(....,....);
    
    
    	  SQLiteDatabase db = helper.getWritableDatabase();
    
    
    	  db.insert(TABLE_NAME,null,cv);
    
    
    	}
    
    
    	

    if 'in içine bunu yazdım 

    "SQL_CUMLESI"
    dediğiniz ne oluyor ?

      bekirdursun

      Pzt, 10/03/2014 - 00:25
      Bu işlemi 1 defa çalıştırmak istiyorsun sen değil mi? doğru mu anlamışım acaba? Eğer öyle ise, veritabanın ilk durumda boş olacaktır. Veri ekleyeceğin tablodan verileri çekeceğin bir cümle yazacaksın ve değişkene atayacaksın. İlk durumda boş olacağı için değer gelmeyecek. Sonraki if komutunda eğer boş ise dediği için yukarıda vermiş olduğun veritabanına yazma işlemini yaptıracaksın.. Daha sonra uygulamayı kapatıp açtığın zaman en başa tekrar gelirsek; değişkene boş değer değil, bir önceki açılışta eklediğin veriler geleceği için, if bloguna uğramadan devam edecektir. Sonuç olarak veritabanına yazma işlemini 1 defa kullanmış olacaksın.

      mmnbsl

      Cum, 14/03/2014 - 14:39
      Dediğinizin bir benzerini aynı mantıkla SharedPreferences ile sağladım. Mantık için teşekkür ederim.

    0

    Bekir Dursun

    LOGO Yazılım - 09 Mart 2014

    onCreate() içerisinde şu mantıkla kodlama yapabilirsin.

    deger = "SQL_CUMLESI";
    
    
    	if(deger==null){
    	//KAYIT İŞLEMİNİ BURADA YAPMALISIN.
    	}

    Uygulamayı kapatıp tekrar açtığın zaman kayıt işlemini daha önce yaptığın için bu alanı atlayacaktır.

    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.