2015-10-23 2 views
-1

Я пытаюсь получить все содержимое базы данных SQLite и отправить их через метод post. Проблема заключается в том, что мой код извлекает весь контент, кроме последнего содержимого из базы данных sqlite. Кто-нибудь может помочь мне получить последний контент?Не извлекать последние данные в базе данных в android

\t db=openOrCreateDatabase("StudentDB", Context.MODE_PRIVATE, null); 
 
\t \t Cursor c=db.rawQuery("SELECT * FROM student", null); 
 
\t \t if(c.getCount()==0){ 
 
\t \t \t System.out.println("Database empty"); 
 
\t \t \t 
 
\t \t \t return; 
 
\t \t } 
 
\t \t 
 
\t \t else if(c.moveToFirst()){ 
 
\t \t \t while(!c.isLast()){    //problem in this line maybe 
 
\t \t \t \t Sender = c.getString(1); 
 
\t \t \t \t TimeStamp = c.getString(2); 
 
\t \t \t \t Mesg = c.getString(3); 
 
\t \t \t \t readWebPage(c.getString(0)); //POST method 
 
\t \t \t \t c.moveToNext(); \t \t \t \t 
 
\t \t \t } \t \t \t 
 
\t \t 
 
\t \t } 
 
\t 
 
\t \t c.close(); 
 
\t }

+1

в то время как (c.isAfterLast (!))? – Sevle

+0

@Sevle. Я пробовал это, но он не работает правильно, так как он не отправляет первый и четвертый контент из базы данных. –

ответ

2

вы можете использовать цикл для получения данных

db=openOrCreateDatabase("StudentDB", Context.MODE_PRIVATE, null); 
    Cursor c=db.rawQuery("SELECT * FROM student", null); 
     if(c.getCount()==0){ 
      System.out.println("Database empty"); 

      return; 
     } 

     else if(c.moveToFirst()){ 
      for(int i=0;i<c.getCount();i++){    
       Sender = c.getString(1); 
       TimeStamp = c.getString(2); 
       Mesg = c.getString(3); 
       readWebPage(c.getString(0)); //POST method 
       c.moveToNext();     
      }   

     } 

     c.close(); 
} 
+0

Большое спасибо. Это похоже на лучший способ, который сделал магию. –

0

Попробуйте это:

if(c!=null && c.moveToFirst()) 
{ 
do{ 
String sender = c.getString(c.getColumnIndex("column_name")); 
}while(c.moveToNext()) 

} 
+0

Его отправка контента в случайной последовательности. Я ввел 6 содержимого и отправил только 5 материалов. Он оставил четвертое содержание. –

+0

Ваша проблема, вероятно, связана с вашим асинхронным POST, то есть независимо от того, что отправляет «readWebPage()», а не с помощью манипуляций с курсором. Добавьте регистратор до «readWebPage()», чтобы подтвердить это. – Sevle

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