我一直在尝试使用db.query按名称的字母顺序返回我的表,并将其另存为List以填充微调器。
db.query成功返回所有列值,但在尝试排序时不会以任何顺序返回。
我要排序的列是COLUMN_COMPANY_NAME(“company_name”)属于表TABLE__NAME(“公司”)。 COLUMN_COMPANY_NAME被声明为:
public static final String TABLE_NAME = "companies";
public static final String COLUMN_ID = "company_id";
public static final String COLUMN_COMPANY_NAME = "company_name";
public static final String COLUMN_EMAIL = "company_email";
public static final String COLUMN_PHONE = "company_phone";
private static final String DATABASE_CREATE = "create table " + TABLE_NAME
+ "(" + COLUMN_ID + " integer primary key autoincrement, "
+ COLUMN_COMPANY_NAME + " varchar(45), "
+ COLUMN_EMAIL + " varchar(45), "
+ COLUMN_PHONE + " integer default 0"
+ ");";
private SQLiteDatabase db;
我想使用db.query(table,columns,selection,selectionArgs,groupBy,具有顺序)来获取游标中数据库中的所有列和行:
protected Cursor Cursor_getAllCompanies(){
String orderBy = COLUMN_COMPANY_NAME + " Collate NOCASE";
return db.query(TABLE_NAME, null, null, null, null, null, orderBy);
}//if columns = null, default get all columns
所以我希望rawQuery是:
SELECT * FROM companies ORDER BY company_name Collate NOCASE;
我尝试了许多不同的语法,但无济于事。据我所知,上面的语法应该根据公司名称以(升序)字母顺序返回我的所有列,但不是。
问题归结为:如何让db.query以字母顺序返回?为什么标准订单命令不起作用?
注意:之前已经回答了许多类似的问题,但目前他们的解决方案似乎都不适用于我:
SQLite Query, Nocase Alphabetical
答案 0 :(得分:0)
如果您尝试按字母顺序列出它 只需SELECT * FROM公司ORDER BY company_name