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

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

所以…

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

(2)如何find这个错误?

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

  • Android资源文件夹中的外部数据库
  • 如何用SQLite的FTS3实现模糊search?
  • 在SQLite数据库中保存ArrayLists
  • 是否有支持SQLite的优秀ORM(最好是JPA实现)(在Android上)?
  • 可以在单个execSQL查询中指定的SQLvariables的限制是多少
  • Android SQLite升级而不会丢失数据
  • Android SQLiteException:绑定或列索引超出范围的问题
  • Android / SQLite:插入 - 更新表列以保持标识符
  • select包含以下内容:stringselect=“_id”; String [] selectionArgs = {“=”+ personId};

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

    将其更改为

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

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