Я знаю, что уже задал этот вопрос, но, надеюсь, свежий набор глаз посмотрит на него. Я написал этот метод ниже, чтобы вернуть одно конкретное значение в качестве теста для моего запроса. Однако каждый раз, когда я запускаю программу, он падает, когда он достигает строки, начинающейся с курсора. Вот код:Что случилось с моим запросом?
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 - это имя базы данных.
должно быть чем-то вроде 'rDb = SQLiteDatabase.openDatabase (mPath, null, 0);' поскольку это то, что возвращает открытую базу данных. – njzk2
спасибо, что сделал запрос работать !! хотя теперь есть проблема с циклом. есть ли у меня movetonext и isafterlast неправильный путь? – user2957710
вы быстро закрываете db – Selvin