我尝试在查询中提取并使用cursor.getString(1)
或cursor.getBlob(1)
,但出现错误
Unable to convert BLOB to string
问题是,如果我的值是String
,或者假设值是null
并使用cursor.getString(1)
,它可以正常工作,因为值类似于字符串,我使用getString但如果值是blob
并使用cursor.getString(1)
,它会出错,因为它冲突,另一方面,如果我使用cursor.getBlob(1)
,有时我会得到一个等于null
的值,它会给我一个错误,因为值是字符串而不是blob
我怎样才能避免这种情况?需要帮助
- 查询**
Cursor cursor = MainActivity.sqLiteHelper.getData("SELECT evd.id,evd.additional_image,evd.overall_remarks FROM emv_validation_details AS evd WHERE evd.id="+id);
while (cursor.moveToNext()) {
myEdit.putString("emv_id_u",cursor.getString(0));
String additional_image = cursor.getString(1); //error here if the value is blob type
if(additional_image ==null){
additonal_image_u = null;
}
else{
additonal_image_u = cursor.getBlob(1);
}
myEdit.putString("overall_remarks_u",cursor.getString(2));
}
cursor.close();
1条答案
按热度按时间jk9hmnmh1#
这可能是一个答案,如果不是,它可能会给予你一个方向。
尝试使用Object并获取返回类型example here
不知道它是否会首先工作起来,你可能需要调整它,但我不能测试它,但你不会知道,如果你不尝试。