This one_
- Rewrite the query as "SELECT MAX(RoomSuffix) AS MAX_SUFFIX FROM
RoomTable"
This assigns a known column name (MAX_SUFFIX) to the expression.
You then can call getColumnIndex("MAX_SUFFIX").
On Nov 29, 2:28 pm, Kostya Vasilyev <[email protected]> wrote:
> Just curious - which of the three possible fixes did you apply?
>
> 29.11.2010 12:17, pramod.deore пишет:
>
>
>
> > Thanks Kostya . It works
>
> > On Nov 29, 1:36 pm, Kostya Vasilyev<[email protected]> wrote:
> >> That's because your query has an expression, max(RoomSuffix).
>
> >> The result (cursor) also uses that expression as the column name, and
> >> not just "RoomSuffix".
>
> >> You could do one of the following to fix this:
>
> >> - Call c.getInt(1) without c.getColumnIndex, since you know there is
> >> only one column.
>
> >> - Rewrite the query as "SELECT MAX(RoomSuffix) AS MAX_SUFFIX FROM
> >> RoomTable"
>
> >> This assigns a known column name (MAX_SUFFIX) to the expression.
>
> >> You then can call getColumnIndex("MAX_SUFFIX").
>
> >> - Use SQLiteStatement.simpleQueryForLong with your query:
>
> >>> public long simpleQueryForLong ()
> >>> Since: API Level 1
> >>> Execute a statement that returns a 1 by 1 table with a numeric value.
> >>> For example, SELECT COUNT(*) FROM table;
> >>> Returns
> >>> The result of the query.
> >> -- Kostya
>
> >> 29.11.2010 11:15, pramod.deore пишет:
>
> >>> Why I am getting this exception? RoomSuffix is an int. Then why I got
> >>> error when I execute
> >>> suf = c45.getInt(c45.getColumnIndex("RoomSuffix"));
> >>> Thanks
> >>> On Nov 29, 11:55 am, "pramod.deore"<[email protected]> wrote:
> >>>> Hi, I want to retrieve int value from cursor
> >>>> Cursor c = sampleDB.rawQuery("select max(RoomSuffix)from
> >>>> RoomTable",null);
> >>>> and here RoomSuffix is an int, but when I tried to retrieve value as
> >>>> if (c != null )
> >>>> {
> >>>> if (c.moveToFirst())
> >>>> {
> >>>> do
> >>>> {
> >>>>
> >>>> System.out.println ("Inside do");
> >>>>
> >>>> System.out.println (c.getColumnCount()); //here i
> >>>> get 1
> >>>> suf =
> >>>> c.getInt(c.getColumnIndex("RoomSuffix"));//
> >>>> here it throws Exception
> >>>> }
> >>>> while (c.moveToNext());
> >>>> }
> >>>> }
> >>>> and logcat output is
> >>>> 11-29 12:07:28.835: ERROR/CursorWindow(956): Bad request for field
> >>>> slot 0,-1. numRows = 1, numColumns = 1
> >>>> 11-29 12:07:28.843: WARN/System.err(956):
> >>>> java.lang.IllegalStateException: get field slot from row 0 col -1
> >>>> failed
> >>>> 11-29 12:07:28.894: WARN/System.err(956): at
> >>>> android.database.CursorWindow.getLong_native(Native Method)
> >>>> 11-29 12:07:28.904: WARN/System.err(956): at
> >>>> android.database.CursorWindow.getInt(CursorWindow.java:434)
> >>>> 11-29 12:07:28.925: WARN/System.err(956): at
> >>>> android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:
> >>>> 93)
> >>>> 11-29 12:07:28.925: WARN/System.err(956): at
> >>>> com.monarch.home.AddRoom.checkRoomExist(AddRoom.java:110)
> >>>> 11-29 12:07:28.944: WARN/System.err(956): at
> >>>> com.monarch.home.AddRoom.insertToRoomTable(AddRoom.java:142)
> >>>> 11-29 12:07:28.954: WARN/System.err(956): at
> >>>> com.monarch.home.AddRoom$1.onItemClick(AddRoom.java:74)
> >>>> 11-29 12:07:28.966: WARN/System.err(956): at
> >>>> android.widget.AdapterView.performItemClick(AdapterView.java:284)
> >>>> 11-29 12:07:28.974: WARN/System.err(956): at
> >>>> android.widget.ListView.performItemClick(ListView.java:3285)
> >>>> 11-29 12:07:28.974: WARN/System.err(956): at
> >>>> android.widget.AbsListView$PerformClick.run(AbsListView.java:1640)
> >>>> 11-29 12:07:28.996: WARN/System.err(956): at
> >>>> android.os.Handler.handleCallback(Handler.java:587)
> >>>> 11-29 12:07:29.005: WARN/System.err(956): at
> >>>> android.os.Handler.dispatchMessage(Handler.java:92)
> >>>> 11-29 12:07:29.005: WARN/System.err(956): at
> >>>> android.os.Looper.loop(Looper.java:123)
> >>>> 11-29 12:07:29.013: WARN/System.err(956): at
> >>>> android.app.ActivityThread.main(ActivityThread.java:4363)
> >>>> 11-29 12:07:29.027: WARN/System.err(956): at
> >>>> java.lang.reflect.Method.invokeNative(Native Method)
> >>>> 11-29 12:07:29.035: WARN/System.err(956): at
> >>>> java.lang.reflect.Method.invoke(Method.java:521)
> >>>> 11-29 12:07:29.044: WARN/System.err(956): at
> >>>> com.android.internal.os.ZygoteInit
> >>>> $MethodAndArgsCaller.run(ZygoteInit.java:860)
> >>>> 11-29 12:07:29.053: WARN/System.err(956): at
> >>>> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
> >>>> 11-29 12:07:29.053: WARN/System.err(956): at
> >>>> dalvik.system.NativeStart.main(Native Method)
> >> --
> >> Kostya Vasilyev -- WiFi Manager + pretty widget
> >> --http://kmansoft.wordpress.com
>
> --
> Kostya Vasilyev -- WiFi Manager + pretty widget
> --http://kmansoft.wordpress.com
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en