0

5 つのテキスト フィールドからの情報に基づいてデータベースに情報を格納するアプリケーションがあります。フィールドを並べ替えることができない、または 1 つのフィールドから並べ替えるだけでも問題があります。また、ORDER BY句はどのような方法で入れますか? データベースのコード スニペットは次のとおりです。

 public static final String MYDATABASE_NAME = "MY_DATABASE";
 public static final String MYDATABASE_TABLE = "MY_TABLE";
 public static final int MYDATABASE_VERSION = 1;
 public static final String KEY_CONTENT = "Content";

 public static final String lastName = "lastName";
 public static final String firstName = "firstName";
 public static final String school = "school";
 public static final String email = "email";
 public static final String intrest = "intrest";




      Cursor d = sqLiteDatabase.rawQuery("SELECT * from " + MYDATABASE_TABLE + "ORDER BY " + lastName + " ASC" , null); 
             while (d.moveToNext()) {
                 int sort = d.getColumnIndex(lastName);
                 int sort2 = d.getColumnIndex(intrest);
                 String lastName = d.getString(sort);
                 String intrest = d.getString(sort2);
                 System.out.println("GOT STUDENT " +  lastName + " LIKES " + intrest);
             }
4

2 に答える 2

0

コードで (cursor.getCount() > 0) メソッドと (cursor != null) 条件を使用して、データを取得するかどうかを確認してください。私が以下に示したもの。完璧を期すためにクエリにLogを使用し、そのクエリをsqliteデータベースに配置して、正しく機能しているかどうかを確認してください。

Cursor d = sqLiteDatabase.rawQuery("SELECT * from " + MYDATABASE_TABLE + " ORDER BY " + lastName + " ASC" , null); // here I have edited space before ORDER BY word starts. Please note this
Log.d("query",">>>>"+SELECT * from " + MYDATABASE_TABLE + " ORDER BY " + lastName + " ASC"); // check this query is going to right way or not using local database.
if(d != null){
     if(d.getCount() > 0){  // to check you get one or more data 
       d.moveToFirst();    
         do{
                 int sort = d.getColumnIndex(lastName);
                 int sort2 = d.getColumnIndex(intrest);
                 String lastName = d.getString(sort);
                 String intrest = d.getString(sort2);
                 System.out.println("GOT STUDENT " +  lastName + " LIKES " + intrest);
           } while (d.moveToNext());
      }
}

これを試して。それがあなたを助けることを願っています。

于 2013-05-20T06:13:02.413 に答える