SQLite: Cannot bind argument at index 1 because the index is out of range. The statement has 0 param

SQLite: Cannot bind argument at index 1 because the index is out of range. The statement has 0 param,第1张

概述SQLite: Cannot bind argument at index 1 because the index is out of range. The statement has 0 parameters SQLite出现了这样的错误 12-25 22:52:50.252: E/AndroidRuntime(813): Caused by: java.lang.IllegalArgument sqlite: Cannot bind argument at index 1 because the index is out of range. The statement has 0 parameters

sqlite出现了这样的错误

12-25 22:52:50.252: E/AndroIDRuntime(813): Caused by: java.lang.IllegalArgumentException: Cannot bind argument at index 1 because the index is out of range.  The statement has 0 parameters.12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteProgram.bind(sqliteProgram.java:212)12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteProgram.bindString(sqliteProgram.java:166)12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteProgram.bindAllArgsAsstrings(sqliteProgram.java:200)12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteDirectCursorDriver.query(sqliteDirectCursorDriver.java:47)12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteDatabase.rawqueryWithFactory(sqliteDatabase.java:1314)12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteDatabase.queryWithFactory(sqliteDatabase.java:1161)12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteDatabase.query(sqliteDatabase.java:1032)12-25 22:52:50.252: E/AndroIDRuntime(813):  at androID.database.sqlite.sqliteDatabase.query(sqliteDatabase.java:1200)

代码如下

public Player getPlayer(String name) {    sqliteDatabase db = this.getReadableDatabase();    String[] projection = {            PlayerEntry.ColUMN_name_PLAYER_name,PlayerEntry.ColUMN_name_PLAYED_GAMES,};    String selection =  PlayerEntry.ColUMN_name_PLAYER_name ;    String[] selectionArgs = new String[1];    selectionArgs[0] = name;    Cursor cursor = db.query(            PlayerEntry.table_name,// The table to query            projection,// The columns to return            selection,// The columns for the WHERE clause            selectionArgs,// The values for the WHERE clause            null,// don't group the rows            null,// don't filter by row groups            null                                 // The sort order            );    if (cursor != null)        cursor.movetoFirst();

解决方法如下

String selection =  PlayerEntry.ColUMN_name_PLAYER_name + "=?";
总结

以上是内存溢出为你收集整理的SQLite: Cannot bind argument at index 1 because the index is out of range. The statement has 0 param全部内容,希望文章能够帮你解决SQLite: Cannot bind argument at index 1 because the index is out of range. The statement has 0 param所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1170286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存