太多的绑定参数。 提供了5个参数,但声明需要4个参数

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

所以…

(1)这个神秘的第五个论点来自哪里?

(2)如何find这个错误?

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

Solutions Collecting From Web of "太多的绑定参数。 提供了5个参数,但声明需要4个参数"

select包含以下内容:stringselect=“_id”; String [] selectionArgs = {“=”+ personId};

你在selectionArgs有一个值,但是没有? 它在selection占位符。

将其更改为

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

该方法构build一个SQLstring。 提供的ContentValues被构build为? 占位符和绑定参数。 额外的select参数也作为绑定参数提供,并且它们必须与相等数量的? 占位符。