2

android(SQLite)でデータベーステーブルを正常に作成しました。データベース内の要素を名前(昇順/降順)に従って並べ替えようとしています。(この目的のためにコンテキストメニューにボタンがあります)。SQLステートメントの記述に問題があります。何か案が?

public void onCreate(Bundle savedInstanceState) 
    {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.database);

        ListView lv=(ListView)findViewById(R.id.mylist);


         dbh = new DatabaseHelper(this);
         c = dbh.getReadableDatabase().rawQuery("SELECT _id, " + 
             DatabaseHelper.NAME + 
  ", " + DatabaseHelper.LASTNAME + 
      ", " + DatabaseHelper.ans2 + 
                        " FROM " +
                DatabaseHelper.TABLE_NAME, null); // initializing 


            String[] dataFrom ={DatabaseHelper.NAME, DatabaseHelper.LASTNAME, DatabaseHelper.ans2};
            int[] dataTo = {R.id.name, R.id.value1, R.id.value2};               
            SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
                    R.layout.row, c, dataFrom, dataTo);

           lv.setAdapter(adapter);

           registerForContextMenu(lv);


    }
4

3 に答える 3

5

あなたはこのようなことをすることができます、このURLをチェックしてくださいhttp://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

dbh.getReadableDatabase().query(DatabaseHelper.TABLE_NAME,
                                    new String[]{DatabaseHelper.NAME,
                                                DatabaseHelper.LASTNAME, 
                                              ,DatabaseHelper.ans2},null,null,null,
                                             DatabaseHelper.NAME,null);

最後から2番目のパラメーターで、順序付けする行を設定し、たとえば文字列ASCまたはDESCを追加できます。

DatabaseHelper.NAME + " ASC"
于 2012-04-11T15:57:28.840 に答える
3

私はあなたが物事を混乱させていると思います。データベースへの保存方法を制御することはできません。心配する必要があるのは、データベースからデータを取得する方法だけです。order by句を使用する必要があります(デフォルトでは、指定した列のAscです)。

 c = dbh.getReadableDatabase().rawQuery("SELECT _id, " + 
             DatabaseHelper.NAME + 
  ", " + DatabaseHelper.LASTNAME + 
      ", " + DatabaseHelper.ans2 + 
                        " FROM " +
                DatabaseHelper.TABLE_NAME ORDER BY yourColumnName, null);
于 2012-04-11T15:58:35.220 に答える
2

ORDERBYキーワードをお探しだと思います。詳細な説明はここにあります:

@w3schools.comで注文する

于 2012-04-11T15:55:10.537 に答える