加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite: Cannot bind argument at index 1 because the index is

发布时间:2020-12-12 19:44:36 所属栏目:百科 来源:网络整理
导读: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

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 + "=?";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读