将BLOB类型检索到字节中

问题描述 投票:0回答:1

SQLiteDatabase DB = this.getReadableDatabase();ImageModel ImageModel = new ImageModel();

这是我的摘录

    Cursor Cursor = DB.rawQuery("SELECT ImageFile FROM Image WHERE ID = '1'", null);

    if(Cursor.getCount() < 1) {
        System.out.println("NO DATA");
    }else {
        System.out.println("HAVE DATA");
        byte[] byteArray = Cursor.getBlob(1);
        ImageModel.setImage(BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length));
    }

我从此代码 byte[] byteArray = Cursor.getBlob(1);中收到错误

Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
java android android-sqlite
1个回答
0
投票

您必须使用moveToFirst(),因此Cursor的索引位于第一行(如果存在),而不是1,请使用0作为getBlob()中的索引,因为列索引是[基于C0]:

0
© www.soinside.com 2019 - 2024. All rights reserved.