merhaba Sqlite veri tabanında; örneğin id ve ad sütununa sahip bir tablodan cursor ile veri çekerken filitre yapabiliyor muyuz? mesela ad sütunu içerisinden isminde “ra” hecesi bulunan kişileri string buffer, listview yada başka bir yol ile alabilirmiyiz? ya da bu kişileri autocomplete textview içine array adapter ile set etmenin yolu var mı? Şimdiden teşekkür ederim.

soruldu: 19 May, 16:12

omerburak's gravatar image

omerburak
013
cevap kabul oranı: 100%


Teşekkürler kodmanyagha tavsiyen üzerinde denemelerimle sonuca ulaştım database helper kısmında yapılacak cursor düzenlemesi şu şekilde oldu:

// VERİ GÖSTERMEK İÇİN İMLEÇ OLUŞTURUYORUZ. // ogrencikayit tablomuzun adi // ogrenciadi kolonumuzun adi

public Cursor ogrencisorguimleci(){
    SQLiteDatabase db=this.getWritableDatabase();
    Cursor ogr= db.rawQuery("select * from ogrencikayit where ogrenciadi like 'ra%'",null);
    return ogr;
}

Cursoru kullandığımız method ise şu şekilde:

private void ogrencisorgu() {
    bogrencisorgula.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            myDb.ogrencisorguimleci();
            Cursor ogr= myDb.ogrencisorguimleci();
            if (ogr.getCount()==0){
                //mesaj goster
                showMessage("Error","Veri bulunamadi");
                return;
            }
            StringBuffer buffer= new StringBuffer();
            while (ogr.moveToNext()){
                buffer.append("AD :"+ ogr.getString(1)+"\\n");
            }
            // bUtUn verileri goster
            showMessage("SORGULANAN OGRENCI",buffer.toString());
        }
    });
}

ShowMessage methodunu kullandığımız için; oluşturmazsak hata olur. Ben aynı aktivite içine yazdım:

 public void showMessage(String title, String Message) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCancelable(true);
        builder.setTitle(title);
        builder.setMessage(Message);
        builder.show();

    }

alt text

permanent link

cevaplandı: 21 May, 06:30

omerburak's gravatar image

omerburak
013
cevap kabul oranı: 100%

Sqlite temel sql komutlarını çalıştırabilir. Select * from ad like '%ra' dersen "ra" ile başlayan tüm isimleri getirir. Fakat büyük veritabanlarında yavaşlamaya sebep olur. Daha gelişmiş bir veritabanı sistemi kullanmanızı öneririm. Örneğin Mysql.

permanent link

cevaplandı: 20 May, 04:44

kodmanyagha's gravatar image

kodmanyagha
3.1k132852
cevap kabul oranı: 15%

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:

×39
×12
×5
×1

Soruldu: 19 May, 16:12

Görüntüleme: 217 kez

Son güncelleme: 21 May, 06:30

powered by BitNami OSQA