我在TEXT字段中的TEITE数据库中有以下文本
他出生的确切日期尚不清楚。然而,意见的共识是他出生于公元前580年左右。他比他的朋友年轻。
他属于一个贵族家庭。
当我从数据库中读取此内容并添加到ArrayList<String>
时,我收到以下错误消息
14): unknown error: Unable to convert BLOB to string
14): unknown error: Unable to convert BLOB to string
14): unknown error: Unable to convert BLOB to string
14): unknown error: Unable to convert BLOB to string
14): Closing Cursor
我很困惑为什么它会成为一个blob?这是我正在阅读的内容
String select = "SELECT heading,text FROM details WHERE chapter_id = \'" + tocIDX + "\'" ;
Constants.c = Constants.myDataBase.rawQuery(select, null);
int headingIndex = Constants.c.getColumnIndex("heading");
int headingTextIndex = Constants.c.getColumnIndex("text");
Constants.c.moveToFirst();
if (Constants.c != null) {
if (Constants.c.isFirst()) {
int i = 0;
/* Loop through all Results */
do {
i++;
if(Constants.Debug){
Log.d("toc", "Row # " + i);}
try{
headingIndex.add(Constants.c.getString(headingIndex));
headingTextIndex.add(Constants.c.getString(headingTextIndex));
} catch (Exception e) {if(Constants.Debug){Log.d("toc", e.getMessage());} }
} while (Constants.c.moveToNext());
非常感谢您的帮助
答案 0 :(得分:0)
我认为标题和文本列的数据类型定义为BLOB。你可以将数据子串到你有两种方式。
方法-1)使用SUBSTRING从BLOB数据中获取字符串。
方法-2)如果可能,使用VARCHAR而不是BLOB作为数据类型