sorry, last line should be
while (c.moveToNext()); //check if next cursor is still valid

not cur.moveToNext() :p ...

On Jun 18, 10:03 am, beka <id.b...@gmail.com> wrote:
> I always use this method, so far it never crash yet
>
> Cursor c;
> ...
> //check if there is any cursor
> if (c.getCount() > 0) {
>    //move to the first cursor
>    c.moveToFirst();
>    do {
>       //retrieve the cursor data here
>       .....
>    } while (cur.moveToNext()); //check if next cursor is still valid
>
> }
>
> On Jun 17, 4:25 pm, Justin Anderson <janderson....@gmail.com> wrote:
>
> > Did this help?
>
> > ----------------------------------------------------------------------
> > There are only 10 types of people in the world...
> > Those who know binary and those who don't.
> > ----------------------------------------------------------------------
>
> > On Wed, Jun 16, 2010 at 2:38 PM, Justin Anderson 
> > <janderson....@gmail.com>wrote:
>
> > > Also, I use different methods in my while loop:
>
> > > Cursor dbCursor;
> > > ...
> > > dbCursor.moveToFirst();
> > > while (!dbCursor.isAfterLast())
> > > {
> > >   //do stuff
> > >   dbCursor.moveToNext();
>
> > > }
>
> > > ----------------------------------------------------------------------
> > > There are only 10 types of people in the world...
> > > Those who know binary and those who don't.
> > > ----------------------------------------------------------------------
>
> > > On Wed, Jun 16, 2010 at 2:07 PM, Mikey <frak....@gmail.com> wrote:
>
> > >> Mostly desperation - I will give your idea a try though - thanks!
>
> > >> Mikey
>
> > >> On 16 Jun 2010, at 21:04, Justin Anderson wrote:
>
> > >> I'm not entirely sure, but I noticed my code is a little different than
> > >> yours...
>
> > >> Before I loop over the rows in the cursor I call moveToFirst().  So, with
> > >> your code that would be c.moveToFirst() right before the while loop. I 
> > >> seem
> > >> to remember having some weird issues with the Cursor class but haven't 
> > >> had
> > >> any since I've made this change.
>
> > >> Also, why are you setting c to null?  There really is no point in doing
> > >> that as the garbage collector will get called on you move out of c's
> > >> scope... which happens as soon as you leave the try block.
>
> > >> Thanks,
> > >> Justin
>
> > >> ----------------------------------------------------------------------
> > >> There are only 10 types of people in the world...
> > >> Those who know binary and those who don't.
> > >> ----------------------------------------------------------------------
>
> > >> On Wed, Jun 16, 2010 at 12:13 PM, Mikey <frak....@gmail.com> wrote:
>
> > >>> Hi,
>
> > >>> I am using a a Sqlite database in my application, but I am having a
> > >>> problem with it crashing (seemingly) randomly with the exception in 
> > >>> Cursor.
> > >>>  (I have been unable to recreate the error to give you the exact 
> > >>> exception
> > >>> but it is something like the cursor being in an invalid state.
>
> > >>> I am using the cursor as follows:
>
> > >>> public ArrayList<String> fetchPermanent() {
> > >>>  ArrayList<String> rows = new ArrayList<String>();
> > >>> try {
> > >>>  Cursor c = mDb.query(USERS, new String[] {SCREEN_NAME}, CONSTANT +
> > >>> "='C'", null, null, null, null);
> > >>>  if (c != null && c.getCount() > 0) {
> > >>>  while (!c.isLast()) {
> > >>> c.moveToNext();
> > >>>  rows.add(c.getString(0));
> > >>> }
> > >>> c.close();
> > >>>  c = null;
> > >>> }
> > >>>  }
> > >>> catch (Exception e) {
> > >>> Log.e("DBERR", e.getMessage());
> > >>>  }
> > >>> return rows;
> > >>>  }
>
> > >>> Does anyone here have any idea what it is I am doing wrong?
>
> > >>> Mikey
>
> > >>> --
> > >>> You received this message because you are subscribed to the Google
> > >>> Groups "Android Beginners" group.
>
> > >>> NEW! Try asking and tagging your question on Stack Overflow at
> > >>>http://stackoverflow.com/questions/tagged/android
>
> > >>> To unsubscribe from this group, send email to
> > >>> android-beginners+unsubscr...@googlegroups.com<android-beginners%2bunsubscr...@googlegroups.com>
> > >>> For more options, visit this group at
> > >>>http://groups.google.com/group/android-beginners?hl=en
>
> > >> --
> > >> You received this message because you are subscribed to the Google
> > >> Groups "Android Beginners" group.
>
> > >> NEW! Try asking and tagging your question on Stack Overflow at
> > >>http://stackoverflow.com/questions/tagged/android
>
> > >> To unsubscribe from this group, send email to
> > >> android-beginners+unsubscr...@googlegroups.com
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/android-beginners?hl=en
>
> > >>  --
> > >> You received this message because you are subscribed to the Google
> > >> Groups "Android Beginners" group.
>
> > >> NEW! Try asking and tagging your question on Stack Overflow at
> > >>http://stackoverflow.com/questions/tagged/android
>
> > >> To unsubscribe from this group, send email to
> > >> android-beginners+unsubscr...@googlegroups.com<android-beginners%2bunsubscr...@googlegroups.com>
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/android-beginners?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.

NEW! Try asking and tagging your question on Stack Overflow at
http://stackoverflow.com/questions/tagged/android

To unsubscribe from this group, send email to
android-beginners+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en

Reply via email to