10

データベースを作成していて、データベースからすべてのレコードを読み取る必要がありますが、次のステートメントでプログラムがクラッシュし続けます。

newWord= db.getAllRecords();

Eclipse はエラーを示さないので、getAllRecords() に問題があると思います。

 public Cursor getAllRecords() {
 db = dBHelper.getWritableDatabase();//obtains the writable database
return db.query(DATABASE_TABLE, new String[] { KEY_ROWID,KEY_WORD}, null, null, null,      null, null);//the query used to obtain all records form the table

} 

何か案は?

4

4 に答える 4

17

テーブルからすべてのコンテンツを取得するために私が行うことは次のとおりです..

public ArrayList<MyObject> getAllElements() {

    ArrayList<MyObject> list = new ArrayList<MyObject>();

    // Select All Query
    String selectQuery = "SELECT  * FROM " + MY_TABLE;

    SQLiteDatabase db = this.getReadableDatabase();
    try {

        Cursor cursor = db.rawQuery(selectQuery, null);
        try {

            // looping through all rows and adding to list
            if (cursor.moveToFirst()) {
                do {
                    MyObject obj = new MyObject();
                    //only one column
                    obj.setId(cursor.getString(0));

                    //you could add additional columns here..

                    list.add(obj);
                } while (cursor.moveToNext());
            }

        } finally {
            try { cursor.close(); } catch (Exception ignore) {}
        }

    } finally {
         try { db.close(); } catch (Exception ignore) {}
    }

    return list;
}
于 2013-01-10T20:25:54.247 に答える
3
public void printTableData(String table_name){
    SQLiteDatabase db = getReadableDatabase();

    Cursor cur = db.rawQuery("SELECT * FROM " + table_name, null);

    if(cur.getCount() != 0){
        cur.moveToFirst();

        do{
            String row_values = "";

            for(int i = 0 ; i < cur.getColumnCount(); i++){
                row_values = row_values + " || " + cur.getString(i);
            }

            Log.d("LOG_TAG_HERE", row_values);

        }while (cur.moveToNext());
    }
}
于 2014-12-08T16:39:16.863 に答える
-1
Cursor c = ourDatabase.rawQuery("SELECT * FROM table_name", null);
        if(c!=null){
            c.moveToFirst();
        }
        return c;
于 2014-12-06T16:23:45.553 に答える