我有一个用SQLite数据库浏览器创建的SQLite数据库。数据库包含一些土耳其特定字母为了按字母顺序对它们进行排序,我尝试了以下代码,但它不起作用。
我正在使用SQLiteAssetHelper
可能有什么问题?
public Cursor getAuthors() {
SQLiteDatabase db = getWritableDatabase();
db.setLocale(new Locale("tr","TR"));
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlSelect = { "_id", "name", "surname", "photoName" };
String sqlTables = "authors";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, null, null, null, null,
"name,surname COLLATE LOCALIZED ASC");
c.moveToFirst();
return c;
}
答案 0 :(得分:3)
"name,surname COLLATE LOCALIZED"
使用默认排序规则对name
列进行排序,并使用本地化排序规则对surname
列进行排序。
要使用本地化排序规则对两列进行排序,您必须为两者指定排序规则:
"name COLLATE LOCALIZED, surname COLLATE LOCALIZED"