Herkese merhaba.

Öncelikle android konusunda yeniyim.Projeme harici veritabanı eklemeyi ve verileri listviewe yazdırmayı internette neredeyse türkçe tek anlatım olan bir örneği baz alarak yaptım. Sorunsuz bir şekilde çalışıyor.Fakat sıkıntı yaşadığım bir konu var. Örnekte harici bir database oluşturulup projeye ekleniyor. Daha sonra bu databaseden veriler listviewe yazdırılıyor. Yaptığım ve kullandığım databasenin fotosu. alt text Sıkıntı şu örnekte anlatılan haliyle veritabanındaki tüm veriler listviewe yazdırılıyor. Benim istediğim veritabanından koşullu veri çekmek. Örnek verecek olursak. Ben -fotoda görebileceğiniz gibi- “soru id1” kolonundaki integer değerleri kullanarak ekrana sadece “soru id1” değeri “100 ile 100000” arasındaki satırları yazdırmak istiyorum. Tamamını değil. Veya bunun gibi bir kısıtlama yapabiliyor muyum? Yapabiliyorsam nasıl? Sizden ricam spesifik bir kodla cevap yazmanız. Çünkü dediğim gibi henüz çok tecrübeli değilim. Cevap yazan olursa, şimdiden çok teşekkürler…

 //veritabanından verileri listview e yazdırma metodu sorunsuz çalışıyor.

    SQLiteDatabase db=dbHelper.getReadableDatabase();
    String[] getColumnName={"soru, cevap"};
    Cursor imlec=db.query("sorular", getColumnName, null, null, null, null, null);
    ListView listview=(ListView)findViewById(R.id.listview);
    ArrayList<String> sorular=new ArrayList<String>();
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,sorular);

    while(imlec.moveToNext()){
        String soru_name=imlec.getString(imlec.getColumnIndex("soru"));
        String cevap_name=imlec.getString(imlec.getColumnIndex("cevap"));
        String soru_cevap= soru_name+ " "+cevap_name;
        sorular.add(soru_cevap);

    }
    listview.setAdapter(adapter);
    imlec.close();
    db.close();

soruldu: 14 Ara '16, 15:46

cetin1's gravatar image

cetin1
351
cevap kabul oranı: 0%

değiştirildi: 14 Ara '16, 15:59


Bunu isterseniz sql sorgusunu siz yazarak(rawQuery) isterseniz de query() methodunu kullanarak gerçekleştirebilirsiniz. Studio'da yazma şansım olmadı, syntax hataları olabilir ama şöyle bir örnek yazayım.

RawQuery methodu ile

Cursor c = db.rawQuery("SELECT * FROM soru WHERE soru_id1 > ? AND soru_id1 < ?", new String[]("1000","10000"))

Query methodu ile

Cursor imlec=db.query("sorular", getColumnName, "soru_id1 > ? AND soru_id1 < ?", new String[]("1000","10000"), null, null, null);
permanent link

cevaplandı: 15 Ara '16, 00:58

ersinyildiz's gravatar image

ersinyildiz
2.9k31439
cevap kabul oranı: 29%

Cevap için çok teşekkür ederim. Dediğiniz şekilde yaptım ve çalışıyor.

permanent link

cevaplandı: 15 Ara '16, 09:08

cetin1's gravatar image

cetin1
351
cevap kabul oranı: 0%

Çalıştıysa başkalarına da faydalı olması açısından yanıtı doğru olarak işaretler misiniz ? Sorunun hemen solundaki simgeye tıklamanız yeterli.

(16 Ara '16, 03:36) ersinyildiz ersinyildiz's gravatar image
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:

×824
×70
×40

Soruldu: 14 Ara '16, 15:46

Görüntüleme: 72 kez

Son güncelleme: 16 Ara '16, 03:36

powered by BitNami OSQA