java.lang.IllegalArgumentException: Empty bindArgs

在进行数据库数据删除或插入操作时出现java.lang.IllegalArgumentException: Empty bindArgs异常。

奇怪的是之前是可以正常使用的。

查看日志,定位到SQL语句:

//图片收藏取消
    public void deleteFavouritesImg(int imgId) {
        db = mDatabaseHelper.getWritableDatabase();
        db.execSQL("delete from " + TAB_FAVOURITES + " where " + FAV_IMG_ID + " = " + imgId,null);
    }
sql语句中bindArgs的参数是null,报的正是这个异常。

把null去掉,改成这样就好了

db.execSQL("delete from " + TAB_FAVOURITES + " where " + FAV_IMG_ID + " = " + imgId);
如果对数据库进行delete、update、insert操作,如果execSQL中bindArgs的参数为null,则不必写,否则会出现上述异常。select语句中selectionArgs为null则不受影响。






引用[1]中提到了一个错误,即"java.lang.IllegalArgumentException: secret key byte array cannot be null or empty." 这个错误表示方法的参数错误,密钥的字节数组不能为空或null。解决这个问题的方法是添加依赖,具体的依赖配置如下: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> ``` 引用[2]中提到了一个关于JDK版本的问题,即在本地安装了两个JDK版本,一个是1.8,一个是1.7,但修改了环境变量JAVA_HOME为1.7的地址后,在IDEA或Eclipse中更换JDK版本后仍然报错"Error:java: 无效的目标发行版: 8"。这个问题的解决方法可能不是简单地修改环境变量和IDE中的JDK版本,可能需要进一步检查和调整项目的配置。 引用[3]中提到了一段代码,这段代码可以将时间戳转换为指定格式的时间。这段代码可以帮助你验证是否出现了"java.lang.IllegalArgumentException: Empty key"异常。你可以将这段代码运行一下,将时间戳替换为你的时间戳,然后查看输出的时间是否符合你的预期。 综上所述,"java.lang.IllegalArgumentException: Empty key"异常可能是由于密钥的字节数组为空或null导致的。你可以尝试添加依赖来解决这个问题,并检查项目的配置和代码是否正确。另外,你还可以使用引用[3]中提供的代码来验证时间戳转换的功能是否正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值