當執行下面的函數時,我得到上面的IllegalArgumentException。我沒有得到的是,當我運行調試器時,值變量顯然只包含4個參數,因爲它應該。綁定參數太多。提供了5個參數,但聲明需要4個參數
所以...
(1)這個神祕的第五個參數來自哪裏?
(2)我應該如何找到這個錯誤?
db.update(
UppdragEntry.TABLE_NAME,
values,
selection,
selectionArgs);
當執行下面的函數時,我得到上面的IllegalArgumentException。我沒有得到的是,當我運行調試器時,值變量顯然只包含4個參數,因爲它應該。綁定參數太多。提供了5個參數,但聲明需要4個參數
所以...
(1)這個神祕的第五個參數來自哪裏?
(2)我應該如何找到這個錯誤?
db.update(
UppdragEntry.TABLE_NAME,
values,
selection,
selectionArgs);
選擇包含以下內容:串選擇= 「_id」; String [] selectionArgs = {「=」+ personId};
你有selectionArgs
值,但在selection
沒有?
佔位符它。
將其更改爲
String selection = "_id = ?";
String[] selectionArgs = { "" + personId };
的方法構建一個SQL字符串。提供的ContentValues
被構建爲?
佔位符和綁定參數。其他選擇參數也作爲綁定參數提供,它們必須與相同數量的?
佔位符匹配。
作品,謝謝! – abc32112
我有嗎?在selectionArgs中,但在字符串轉換的情況下?變成'?'這是一個錯誤。 –
好吧,在selectionArgs中添加String.valueOf(personId)好多了。 – SanchelliosProg
*選擇*包含以下內容:字符串選擇=「_id」; String [] selectionArgs = {「=」+ personId}; – abc32112