我知道我已经问过这个问题了,但希望有一双新鲜的眼睛会看着它。我在下面编写了这个方法,以返回一个特定的值作为我的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是数据库的名称。
答案 0 :(得分:0)
更改行
SQLiteDatabase.openDatabase(mPath, null, 0);
到
rDb = SQLiteDatabase.openDatabase(mPath, null, 0);
SQLiteDatabase.openDatabase
返回一个打开的数据库。你的rDb
没有设置(尽管我们看不到完整的代码,所以我无法确定)。