2016-03-28 28 views
1

Android Projemde DBFlow'u uygulamaya çalışıyorum. Bir tablo oluşturup ona satır ve sütun ekleyebildim. İki sütunum, kimliğim ve isimlerim var. Şimdi isimleri tablodan almak ve ID ile azalan düzende düzenlemek istiyorum. Ben Github DBFlow sayfaDBFLow'da İletme

SQLite.select() 
    .from(table) 
    .where() 
    .orderBy(Customer_Table.customer_id, true) 
    .queryList(); 

SQLite.select() 
    .from(table) 
    .where() 
    .orderBy(Customer_Table.customer_id, true) 
    .orderBy(Customer_Table.name, false) 
    .queryList(); 

bu örnek sözdizimi bulundu Ama "Customer_Table.customer_id" bu kodu ne anlama altında alamıyorum. OrderBy() yöntemini kullanmaya çalıştığımda, Android Studio parametresi olarak (NameAlias ​​nameAlias, boole) önerir. Tabloma nasıl bir NameAlias ​​ekleyebilirim? Birisi bana yardım edebilir mi lütfen?

cevap

0

"Customer_Table.customer_id" bölümünde, Customer_Table tablonun adıdır ve customer_id sütun adıdır. Sen, null, veritabanından adı ve kimliği almak ve programlı veri listesini sıralamak veya bu sorguyu

mDb.query (boş true PT_TABLE, yeni String [] {KEY_PID, KEY_NAME}, null, işime yarar null, KEY_PID + "DESC", null);

+0

@ Tablo (veritabanı = AppDatabase. class) public class Makaleler BaseModel'i genişletiyor {....} Bu kodu tablo yapmak için kullandım. Yani tablo adı Makaleler mi? –

+0

kullanımı SQLite.select() .from (Articles.class) .Where() .orderBy (doğru Articles.ID) .queryList(); –

+0

Bu satır, hatayı gösterir, 'orderBy (int, boole)' –

0

Projenizde DbFlow uyguladığınızda, otomatik olarak @ Not ek açıklamasını ek açıklama eklediğiniz her tablo modeli için bir tablo sınıfı oluşturur.

i.e, Müşteri adı olan bir tablonuz varsa, ilgili sınıf Müşteri_Table olur ve tablonuz Kullanıcı ise, ilgili sınıf User_Table olur.

Let bu olmak Müşteri tablosu:
@Table 
public class Customer extends BaseModel { 
    @Column 
    String customer_name; 
} 

böyle kullanmak sonra, Müşteri tablosunda müşteri adı ile sonuçlarınızı sipariş etmek isterseniz

,

SQLite.select() 
    .from(table) 
    .where() 
    .orderBy(Customer_Table.customer_name, true) 
    .queryList();