#java #android #sql #arrays #eclipse
#java #Android #sql #массивы #eclipse
Вопрос:
Я хотел бы поместить некоторые данные из базы данных Sql в массив
Вот мой код для массива:
openDB();
Cursor c = myDb.getSpalte();
while (!c.isAfterLast())
{
s1nInt[i] = c.getInt(1);
i ;
c.moveToNext();
}
c.close();
closeDB();
И вот мой код для getSpalte();
метода:
public Cursor getSpalte()
{
String where= null;
Cursor c = db.query(true, DATABASE_TABLE, KEY_KALOA,
where, null, null, null, null, null);
if (c != null)
{
c.moveToFirst();
}
return c;
}
И если я запускаю это, я получаю это исключение:
06-27 13:34:01.021: E/CursorWindow(24334): Failed to read row 0, column 1 from a CursorWindow which has 1 rows, 1 columns.
теперь я получил для этой команды исключение:
Number[] series2Numbers = {/*s1nInt[i-6],s1nInt[i-5],s1nInt[i-4],s1nInt[i-3],s1nInt[i- 2],s1nInt[i-1],*/s1nInt[i]};
Это мое исключение для этого:
Graph.onStart() line: 75
Graph(Fragment).performStart() line: 1801
FragmentManagerImpl.moveToState(Fragment, int, int, int, boolean) line: 937
FragmentManagerImpl.moveToState(int, int, int, boolean) line: 1106
BackStackRecord.run() line: 690
FragmentManagerImpl.execPendingActions() line: 1571
FragmentManagerImpl$1.run() line: 447
Handler.handleCallback(Message) line: 733
Ответ №1:
Курсор начинается с 0 и должен быть перемещен в первую строку перед доступом к данным:
while(c.moveToNext())
{
s1nInt[i] = c.getInt(1);
i ;
}
Комментарии:
1. Спасибо, это работает:) но не могли бы вы помочь мне в моей следующей проблеме?:)