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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)