java. Lang.illegalstateexception: cannot read line 0 col 0 from cursorwindow
•
Java
I need to get all the data from the table. I use the following code to perform the same operation in the SQLite dbhelper class:
public Cursor getData() { sqliteDatabase db = this.getWritableDatabase(); Cursor res = db.rawQuery("select * from " + PRODUCT_DETAILS_TABLE,null); return res; }
Now I use the cursor to get data in my activity in the following ways:
public HashMap<String,ArrayList<CartModal>> getDatas() { map = new HashMap<String,ArrayList<CartModal>>(); stored_data = new ArrayList<CartModal>(); Cursor cartdb = dbHelper.getData(); if (cartdb != null && cartdb.getCount() > 0) { if (cartdb.moveToFirst()) { do { String mloggedinuser = cartdb.getString(0); String mname = cartdb.getString(1); String email = cartdb.getString(2); String mobile = cartdb.getString(3); String about = cartdb.getString(4); String pid = cartdb.getString(5); String refnum = cartdb.getString(6); String size = cartdb.getString(7); String weight = cartdb.getString(8); String price = cartdb.getString(9); String catid = cartdb.getString(10); String image = cartdb.getString(11); CartModal cartarray = new CartModal(mloggedinuser,mname,email,mobile,about,pid,refnum,size,weight,price,catid,image); stored_data.add(cartarray); keys = mname; map.put(mname,stored_data); } while (cartdb.moveToPosition(stored_data.size())); cartdb.close(); } } return map; }
When I run the above program, I receive the following error:
E/AndroidRuntime: FATAL EXCEPTION: main Process: sdetech.io.brouchuretabproject,PID: 2434 java.lang.IllegalStateException: Couldn't read row 0,col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it. at android.database.CursorWindow.nativeGetString(Native Method) at android.database.CursorWindow.getString(CursorWindow.java:438) at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51) at sdetech.io.brouchuretabproject.Fragments.Cart.getDatas(Cart.java:58) at sdetech.io.brouchuretabproject.Fragments.Cart.onCreateView(Cart.java:42) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2087) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1113) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1682) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:541) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
I have experienced many solutions in stackoverflow (Android Java. Lang. IllegalStateException: couldn't read row 0, col 0 from cursorwindow), but no one has helped me solve this problem Please suggest me a solution
Solution
What I'm doing is right But the problem is, I'm saving an image in DB as Base64 encoded string Although the data is obtained, it shows an illegal exception When I delete the image, it works perfectly
thank you
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码