【问题标题】:how to check is image inserted to database in android如何检查图像是否插入到android中的数据库
【发布时间】:2014-09-24 08:38:58
【问题描述】:

我在数据库中有一个表,它有几行,每行存储一个图像和一些字符串

但有些行没有图像

我想将此表的内容读取到我的 android 应用程序中,如果图像不存在,我将显示默认图像

如何检查图像是否存在?

这是我的代码

private void sql_load_data()
{

    byte[] illness_pic=null;

    Cursor cur_row;

    SQLiteDatabase sqLiteDatabase=SQLiteDatabase.openDatabase(DataBaseHelper.DB_PATH+"/"+DataBaseHelper.DB_NAME, null, Context.MODE_PRIVATE);

    try
    {
        DBH.openDataBase();

        cur_row=sqLiteDatabase.rawQuery("select illness_name,illness_pic,illness_cause,illness_sign,illness_control from pistachio_illness where id="+id, null);

        cur_row.moveToFirst();

        lbl_illness_name.setText(cur_row.getString(0));

        illness_pic=cur_row.getBlob(1);
        imgviw_illness_pic.setImageBitmap(BitmapFactory.decodeByteArray(illness_pic, 0, illness_pic.length));
        lbl_illness_cause.setText(cur_row.getString(2));
        lbl_illness_sign.setText(cur_row.getString(3));
        lbl_illness_control.setText(cur_row.getString(4));
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

【问题讨论】:

    标签: android database sqlite blob


    【解决方案1】:

    如果没有保存 if(illness_pic==null) 应该足以检查。

    其他可能性是添加一个字段HAS_IMAGE 并使用它来检查。保存图片时设置为1,不保存或删除时设置为0

    【讨论】:

    • 如果您的指令不起作用并且数据库已预加载,我无法更改它
    • 什么不起作用?没有图像的情况下,你的疾病图片中有什么?
    • illness_pic 在没有图像但 if 语句无法处理时为空,为什么,我不知道;我还检查了if(illness_pic.length!=0)if(String.valueof(illness_pic.length)==null) 和....但是之前的结果是相同的并且代码不起作用:|
    • 试试if(illness_pic==null || illness_pic.length==0)
    • 如果语句有效:if(illness_pic==null);请添加此问题的答案以我确认,谢谢
    猜你喜欢
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    相关资源
    最近更新 更多