我的查询出了什么问题?

时间:2013-11-06 22:29:27

标签: android

我知道我已经问过这个问题了,但希望有一双新鲜的眼睛会看着它。我在下面编写了这个方法,以返回一个特定的值作为我的Query的测试。但是,每次运行程序时,它都会在到达Cursor开始的行时崩溃。这是代码:

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是数据库的名称。

1 个答案:

答案 0 :(得分:0)

更改行

SQLiteDatabase.openDatabase(mPath, null, 0);

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

SQLiteDatabase.openDatabase返回一个打开的数据库。你的rDb没有设置(尽管我们看不到完整的代码,所以我无法确定)。