2011-08-22 404 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(); 
} 
相關問題