0

私はすでにこの質問をしたことを知っていますが、うまくいけば、新鮮な目がそれを見るでしょう. このメソッドを以下に記述して、クエリのテストとして 1 つの特定の値を返します。ただし、プログラムを実行するたびに、カーソルの最初の行に到達するとクラッシュします。コードは次のとおりです。

public String getData(){
    String rName= "";
    String[] columns = new String[]{COLUMN_ROWID, COLUMN_NAME, COLUMN_TELEPHONE, COLUMN_EMAIL, COLUMN_MENUURL, COLUMN_WEBSITE, COLUMN_MOBILE};
    SQLiteDatabase.openDatabase(mPath, null, 0);
    Cursor item = rDb.query(DATABASE_TABLE, columns, "name like 'Terry'", null, null, null, null);
    rDb.close();
    for(item.moveToFirst();item.moveToNext(); item.isAfterLast()) {
        rName = item.getString(item.getColumnIndex(COLUMN_NAME));
    }


    return rName;

}

私が書いたものに何か問題がありますか?rDb はデータベースの名前です。

4

1 に答える 1

0

行を変更する

SQLiteDatabase.openDatabase(mPath, null, 0);

rDb = SQLiteDatabase.openDatabase(mPath, null, 0);

SQLiteDatabase.openDatabase開いているデータベースを返します。あなたrDbはそうでなければ設定されていません(ただし、完全なコードを見ることはできないため、確信が持てません)。

于 2013-11-06T22:35:39.623 に答える