Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android IllegalArgumentException:索引1处的绑定值为null_Android_Database_Sqlite_Android Contentprovider - Fatal编程技术网

Android IllegalArgumentException:索引1处的绑定值为null

Android IllegalArgumentException:索引1处的绑定值为null,android,database,sqlite,android-contentprovider,Android,Database,Sqlite,Android Contentprovider,有人知道这是什么意思吗 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): Caused by: java.lang.IllegalArgumentException: the bind value at index 1 is null 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at android.database.sqlite.SQLiteProgram.bindString(SQL

有人知道这是什么意思吗

12-31 20:55:45.861: ERROR/AndroidRuntime(12478): Caused by: java.lang.IllegalArgumentException: the bind value at index 1 is null
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:234)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.database.sqlite.SQLiteQuery.bindString(SQLiteQuery.java:182)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:48)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:330)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:280)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.providers.ProductContentProvider.query(ProductContentProvider.java:350)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.content.ContentProvider$Transport.query(ContentProvider.java:163)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.content.ContentResolver.query(ContentResolver.java:245)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.providers.FacadeContentProvider.query(FacadeContentProvider.java:563)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.content.ContentProvider$Transport.query(ContentProvider.java:163)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.content.ContentResolver.query(ContentResolver.java:245)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.util.ScanAddTask.existsProduct(ScanAddTask.java:164)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.util.ScanAddTask.<init>(ScanAddTask.java:71)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.util.ItemScanAddTask.<init>(ItemScanAddTask.java:34)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.ui.activities.collections.cd.CDCollectionViewWindow$MusicCDItemScanAddTask.<init>(CDCollectionViewWindow.java:147)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.ui.activities.collections.cd.CDCollectionViewWindow.restoreLocalState(CDCollectionViewWindow.java:1044)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at net.lp.collectionista.ui.activities.collections.cd.CDCollectionViewWindow.onRestoreInstanceState(CDCollectionViewWindow.java:966)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.app.Activity.performRestoreInstanceState(Activity.java:815)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
12-31 20:55:45.861: ERROR/AndroidRuntime(12478):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2641)
12-31 20:55:45.861:错误/AndroidRuntime(12478):原因:java.lang.IllegalArgumentException:索引1处的绑定值为null
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:234)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.database.sqlite.SQLiteQuery.bindString(SQLiteQuery.java:182)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:48)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:330)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:280)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于net.lp.collectionista.providers.ProductContentProvider.query(ProductContentProvider.java:350)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在android.content.ContentProvider$Transport.query(ContentProvider.java:163)上
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.content.ContentResolver.query(ContentResolver.java:245)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于net.lp.collectionista.providers.FacadeContentProvider.query(FacadeContentProvider.java:563)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在android.content.ContentProvider$Transport.query(ContentProvider.java:163)上
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于android.content.ContentResolver.query(ContentResolver.java:245)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于net.lp.collectionista.util.ScanAddTask.existsprproduct(ScanAddTask.java:164)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在net.lp.collectionista.util.ScanAddTask.(ScanAddTask.java:71)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在net.lp.collectionista.util.ItemScanAddTask.(ItemScanAddTask.java:34)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在net.lp.collectionista.ui.activities.collections.cd.CDCollectionViewWindow$MusicCDItemScanAddTask。(CDCollectionViewWindow.java:147)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于net.lp.collectionista.ui.activities.collections.cd.CDCollectionViewWindow.restoreLocalState(CDCollectionViewWindow.java:1044)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):位于net.lp.collectionista.ui.activities.collections.cd.CDCollectionViewWindow.onRestoreInstanceState(CDCollectionViewWindow.java:966)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在android.app.Activity.performRestoreInstanceState(Activity.java:815)
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)上
12-31 20:55:45.861:ERROR/AndroidRuntime(12478):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2641)

绑定值显然是指插入到
query()
中的选择项的
selectionArgs
。如果这样一个
selectionArgs
值是
null
,您就会得到这个值。

@Gray
@pjv
的响应是意识到是什么问题导致了这个错误的关键。您必须小心选择和selectionArgs匹配,如果您通过
selection=null
selectionArgs=something
,您也会遇到此错误!)Thnks

这与问题并不完全相关,但我面临着一个类似的问题,
参数在开头包含了破折号(-)
。这就是问题的根源

所以我就这样逃避了争论

return mDatabase.query(table_name,
                       null,
                       column_name + "=?",
                       new String[]{"\\" + argument},
                       null,
                       null,
                       null);
这为我解决了问题


您还可以看到:

这意味着您在某个地方有一个非法参数。你可能在某个不可能为null的地方传递null。嗯,我很欣赏这是一篇老文章,但是如果你想像我在这里尝试的那样搜索null呢:我的问题是选择不完全正确。我错过了
,因此我选择了
columnName
,而不是
columnName+“=?”
。我没有立即意识到这一点:selectionArgs是一个数组,如果其中一个值为null,则会出现此错误。