SQLite學習七、更新DB數據庫中BLOB字段值

在代碼中直接用update 語句執行會報錯,需要使用 ContentValues 傳入參數,進行更新

    private void saveFile2LocalDB(String url) {
        SQLiteDatabase wyhcjgDb = WyhcJgDBManager.getInstance().getDbHelper().getWritableDatabase(Encryption.getInstance().invoke5());
        wyhcjgDb.beginTransaction();
        try {
            byte[] bytes = downloadFile(url);
            //需要更新本地數據庫中附件的二進制流和下載狀態
            assert bytes != null;
            String whereSql = " FJLJ = '" + url + "' and ARG4 isnull";
            ContentValues cv = new ContentValues();
            cv.put("ARG4", bytes);
            cv.put("IS_SELECTED", Wyhcfj.FJ_DOWNLOAD);
            wyhcjgDb.update(WyhcjgOpenHelper.WYHCFJ_TABLE, cv, whereSql, null);
            wyhcjgDb.setTransactionSuccessful();
        } catch (Exception e) {
            e.printStackTrace();
        }
        wyhcjgDb.endTransaction();
        //更新UI
        if (mHandler != null) {
            Message message = mHandler.obtainMessage(UPDATE_STATUS, url);
            message.arg1 = mPosition;
            mHandler.sendMessage(message);
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章