2011-08-22 84 views
1

在我的android项目中,我在从数据库中检索数据的过程中获取一个问题。 在这我试图从URL像URL的字符串值,但是当这个代码执行,然后我得到这个错误 android.database.sqlite.SQLiteException:未知错误:无法将BLOB转换为字符串 只有URL colomn给我这个错误没有任何其他字符串colomn。SQLite异常无法将BLOB转换为字符串

我没有得到我错的地方。所以朋友请给我建议我如何解决这个问题。在这里我也打印我的LogCat。

谢谢。

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) 

回答

0

How to convert BLOB to string?

Direct conversion is not possible without using some UDF, but you can extract text using SUBSTRING function:

什么是你所得到的错误(从你说的话,我认为这是网址列)列的数据类型?听起来像它是BLOB类型,它是图像的表示,但不是字符串

+0

您好CodeBlend,感谢您的回复。在这里,我想清除该URL是我的DB中的字符串列,它是图像URL。为了存储图像,我使用其他Blob列。但我的问题是获取字符串列值和我getString like cursorForRecord.getString(cursorForRecord.getColumnIndex(“image_url”)和这种异常只发生在URL列而不是其他字符串列,所以请告诉我我是怎么错? –

+0

嗨朋友,现在我没有任何错误,它会自动解决没有任何修改。我不会发生什么,但现在我没有任何错误。感谢您与我在一起。 –

+0

我是否以任何方式帮助,如果这样标记我的答案,如果没有,我不知道你是否可以关闭这个问题? – Coops

0

使用getBlob()函数代替的getString()函数将解决这个问题。请注意,因为getBlob()函数返回byte []类型的值。要将其转换为字符串,您必须执行以下操作:

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