У меня есть база данных SQL с несколькими столбцами, которую я использую с simpleCursorAdapter, чтобы показать ее внутри списка. Я хочу отсортировать базу данных по целочисленному столбцу COL3
. Я знаю, как это сделать, однако мои попытки не сортировали данные. Я не совсем уверен, правильно ли я его разместил, но буду очень признателен за помощь.
DatabaseHelper.java
@Override
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE " + TABLE_NAME + " (_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
COL2 +" TEXT, " + COL3 + " INTEGER, '" + COL4 + "' TEXT, '" + COL5 + "'INTEGER, '" + COL6 + "'INTEGER, '" + COL7 + "'INTEGER, '" + COL8 + "'INTEGER)";
db.execSQL(createTable);
}
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public boolean addData(String item, String desc, int pri, int strat, int person, int urgen) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL2, item);
contentValues.put(COL4, desc);
contentValues.put(COL3, pri);
contentValues.put(COL6, strat);
contentValues.put(COL7, person);
contentValues.put(COL8, urgen);
String query = "SELECT * FROM " + TABLE_NAME + " ORDER BY " + COL3 + " DESC";
db.rawQuery(query, null);
Log.d(TAG, "addData: Adding " + item + " to " + TABLE_NAME);
long result = db.insert(TABLE_NAME, null, contentValues);
//if data as inserted incorrectly it will return -1
if (result == -1) {
return false;
} else {
return true;
}
}
public Cursor getData(){
SQLiteDatabase db = this.getWritableDatabase();
String query = "SELECT * FROM " + TABLE_NAME;
Cursor data = db.rawQuery(query, null);
return data;
}
public Cursor getItemID(String name){
SQLiteDatabase db = this.getWritableDatabase();
String query = "SELECT " + COL1 + " FROM " + TABLE_NAME +
" WHERE " + COL2 + " = '" + name + "'";
Cursor data = db.rawQuery(query, null);
return data;
}
public String[] databaseToStringArray() {
String[] fromColumns = new String[]{COL2, COL4};
SQLiteDatabase db = getWritableDatabase();
Cursor cursor = db.rawQuery(" SELECT * FROM " + TABLE_NAME + " WHERE 1 ", null);
if (cursor != null && cursor.getCount()>0) {
Log.d("Event", "Records do exist");
}
else {
Log.d("Event", "Records do not exist");
}
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
cursor.moveToNext();
}
db.close();
return fromColumns;
}
}
Если вы хотите, чтобы я уточнил или предоставил дополнительную информацию, я был бы рад. Заранее спасибо