绑定参数太多.提供了5个参数,但该语句需要4个参数



当执行下面的函数时,我得到上面的IllegalArgumentException。我没有得到的是,当我运行调试器,变量显然只包含4个参数,因为它应该。

所以…

(1)这个神秘的第五个论点从何而来?

(2)我应该如何找到这个错误?

db.update(
    UppdragEntry.TABLE_NAME,
    values,
    selection,
    selectionArgs);

Selection包含以下内容:String Selection = "_id";String[] selectionArgs = {" =" + personId};

selectionArgs中有一个值,但在selection中没有?占位符。

改为

String selection = "_id = ?";
String[] selectionArgs = { "" + personId };

该方法构建一个SQL字符串。提供的ContentValues被构建为?占位符和绑定参数。其他选择参数也作为绑定参数提供,它们必须与相同数量的?占位符匹配。

最新更新