2014-02-21 2 views
1
Android Studio 0.4.6 

Здравствуйте,порядок Asccending по имени столбца с помощью курсора

У меня есть следующие функции, которые должны получить строки базы данных в порядке ASC на основе имени столбца. Однако он просто получает строки в том порядке, в котором они перечислены в базе данных.

Таким образом, он должен быть в алфавитном порядке для имен в базе данных.

Я думаю, что мой курсор запрос правильно, так как в отладчике значение курсора:

SQLiteQuery: SELECT _id, name, phone, email FROM friends ORDER BY name ASC 

Что я и хочу. Затем я устанавливаю курсор на первую строку и перебираю их, пока не дойду до последней строки.

Однако он не отображается в алфавитном порядке для имени.

private void loadDB() { 
     Cursor cursor = db.query(FriendContract.TABLE, 
       new String[] {FriendContract.Column.ID, FriendContract.Column.NAME, FriendContract.Column.PHONE, FriendContract.Column.EMAIL}, 
       null, null, null, null, FriendContract.Column.NAME + " ASC"); 

     /* Check if database is empty */ 
     if(cursor.getCount() == 0) { 
      /* There are no rows to load - so just return */ 
      Log.d(TAG, "loadDB() cursor.getCount() == 0. There are no rows, just just refresh listview"); 
      adapter.notifyDataSetChanged(); 
      return; 
     } 

     /* Clear all items from array list - 
      we are going to fill this with the content of the database */ 
     friendsList.clear(); 
     Friend friend; 

     cursor.moveToFirst(); 
     while(!cursor.isAfterLast()) { 
      friend = new Friend(); 
      friend.setId(cursor.getLong(0)); 
      friend.setName(cursor.getString(1)); 
      friend.setPhone(cursor.getString(2)); 
      friend.setEmail(cursor.getString(3)); 
      /* Add this to the list of friends */ 
      friendsList.add(friend); 
      cursor.moveToNext(); 
     } 

     /* Clean up */ 
     cursor.close(); 

     /* Refresh the listview with the loaded friends */ 
     adapter.notifyDataSetChanged(); 
    } 
+0

попытайтесь написать заказ по-маленьким. becoz это работает отлично в моем случае –

+0

Порядок, созданный, я просто передаю ему столбец и ASC. Этот параметр для 'order by' – ant2009

+0

@ user2009 вы получите свой результат –

ответ

0

Код, указанный выше, работает как ожидалось.

Смежные вопросы