SQLite exception unable to convert BLOB to string

11,071

Solution 1

Using the getBlob() function instead of the getString() function will solve the problem. Be careful though since the getBlob() function returns a value of type byte[]. To convert this to a string you have to do something like:

String words = "";
try {
     words = new String(words_blob, "UTF-8");
} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Solution 2

You should use the method getBlob(int), not getString(int).

See http://developer.android.com/reference/android/database/Cursor.html#getBlob(int)

Share:
11,071

Related videos on Youtube

Amol Wadekar
Author by

Amol Wadekar

Updated on June 04, 2022

Comments

  • Amol Wadekar
    Amol Wadekar about 2 years

    In my android project I fetch one problem during retrieving data from data base. In this I try to get String value from DB like URL but when this code execute then I get this error android.database.sqlite.SQLiteException: unknown error: Unable to convert BLOB to string And only URL colomn give me this error not any other string colomn.

    I didn't get where I am wrong. So friend please give me suggestion how I can resolve this problem. Here I also print my LogCat.

    Thank You.

    08-22 20:08:12.290: WARN/System.err(10844): android.database.sqlite.SQLiteException: unknown error: Unable to convert BLOB to string
    08-22 20:08:12.300: WARN/System.err(10844):     at android.database.CursorWindow.getString_native(Native Method)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.database.CursorWindow.getString(CursorWindow.java:329)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:49)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.catLog.ProductsDetailsHomeTab.getProductDeatilsFromDB(ProductsDetailsHomeTab.java:337)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.catLog.ProductsDetailsHomeTab.setFlipperChild1(ProductsDetailsHomeTab.java:201)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.catLog.Widget.ViewFlipper_ProductDetails.onRightToLeftSwipe(ViewFlipper_ProductDetails.java:68)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.catLog.Widget.ViewFlipper_ProductDetails.onTouchEvent(ViewFlipper_ProductDetails.java:131)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.View.dispatchTouchEvent(View.java:3766)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:897)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1676)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1112)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1660)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1676)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1112)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1660)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1676)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1112)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1660)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1785)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.os.Handler.dispatchMessage(Handler.java:99)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.os.Looper.loop(Looper.java:123)
    08-22 20:08:12.300: WARN/System.err(10844):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    08-22 20:08:12.300: WARN/System.err(10844):     at java.lang.reflect.Method.invokeNative(Native Method)
    08-22 20:08:12.300: WARN/System.err(10844):     at java.lang.reflect.Method.invoke(Method.java:521)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
    08-22 20:08:12.300: WARN/System.err(10844):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
    08-22 20:08:12.300: WARN/System.err(10844):     at dalvik.system.NativeStart.main(Native Method)