2012-05-13 6 views
2

Я хочу, чтобы отобразить все мои записи, которые хранятся в базе данныхПоказать все записи, которые хранятся в базе данных SQlite

c = db.DBhelper.getChamp1(c.getCount); 
//startManagingCursor(c); 
int j = 0; 
stateNameArray = new String[c.getCount()]; 
c.moveToFirst(); 
while(!c.isAfterLast()) { 
    stateNameArray[j] = c.getString(0); 
    j++; 
    Log.i("DEBUG_SQL","" + c.getString(0)+ " "+c.getString(j)); 
    c.moveToNext(); 
} 
//String resultat = ; 
Log.i("DEBUG_SQL","" + c.getColumnIndex("article")); 

Я получаю сообщение об ошибке, когда я пишу c.getCount - почему? Когда я пишу число, подобное 1 или 2 или 3 ..., это работает.

И если я пишу

c = db.rawQuery("SELECT * FROM loan", null); 

Я получаю сообщение об ошибке, но если я пишу

db.rawQuery("SELECT * FROM loan WHERE _id=1", null); 

Это работает. Зачем?

+0

Теперь это действительно поможет в будущем проверить, как выглядит ваше сообщение. Код отступа с помощью кнопки '{}' или 'Ctrl-K', и не ставьте свой фактический вопрос * внутри * кода. – slhck

+0

Какую ошибку вы получаете? –

+1

'c = db.DBhelper.getChamp1 (c.getCount);' Что он, черт возьми, должен делать? Это похоже на циркулярную ссылку на меня. – Barak

ответ

0

По крайней мере, я вижу проблему с этим оператором журнала, где c.getString (j) не имеет смысла. И это может вызвать ошибку при увеличении j.

Log.i("DEBUG_SQL","" + c.getString(0)+ " "+c.getString(j)); 

Какие данные вы хотели получить с помощью инструкции c.getString (j)?

Об ошибке getCount. Я предположил, что ошибка в следующем была опечаткой. Но это где ошибка, связанная с getCount, была расположена?

c = db.DBhelper.getChamp1(c.getCount); 

Но я не должен предполагать, что вы никогда не знаете. Он должен прочитать (добавить скобки к вызову метода).

c = db.DBhelper.getChamp1(c.getCount()); 

И как @Barak упомянул, что происходит с этим утверждением?

0

Чтобы ответить на вопрос о вашем GetCount isuue, вы получите сообщение об ошибке из-за этого:

c = db.DBhelper.getChamp1(c.getCount); 

Вы пытаетесь получить количество курсора, прежде чем вы его (и вам не хватает ()).

Это будет работать, так как у вас есть курсор сосчитать, прежде чем тянуть следующий:

c = db.getSomeCursor; 
c1 = db.DBhelper.getChamp1(c.getCount()); 

Дайте нам знать, что вы пытаетесь достичь (я не могу понять его из кода, опубликовано), и, возможно, мы можем быть более полезными.

Смежные вопросы