Android数据库绑定,Android SQLite数据库操作“绑定或列的索引超出范围”

Android 2.3.3           Eclipse Version: 3.7.0           LogCat

LogCat 报错信息:

02-13 11:58:12.030: WARN/dalvikvm(432): threadid=19: thread exiting with uncaught exception (group=0x40015560)02-13 11:58:12.130: ERROR/AndroidRuntime(432): FATAL EXCEPTION: Thread-2602-13 11:58:12.130: ERROR/AndroidRuntime(432): android.database.sqlite.SQLiteException: bind or column index out of range: handle 0x309b0802-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteProgram.native_bind_string(Native Method)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:244)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteQuery.bindString(SQLiteQuery.java:185)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:48)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1235)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1271)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at com.taobao.htc.db.RecordDBHelper.query(RecordDBHelper.java:50)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at com.taobao.htc.manage.RecordDBopt.get(RecordDBopt.java:78)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at com.taobao.htc.manage.RecordMessage.sendMseeage(RecordMessage.java:111)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at com.taobao.htc.manage.RecordMessage.sendMseeage(RecordMessage.java:87)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at com.taobao.htc.Report.run(Report.java:49)02-13 11:58:12.130: ERROR/AndroidRuntime(432): at java.lang.Thread.run(Thread.java:1019)02-13 11:58:12.200: WARN/ActivityManager(62): Force finishing activity com.taobao.htc/.WakeUp

发生错误原因分析:

发现是此处at com.taobao.htc.db.RecordDBHelper.query(RecordDBHelper.java:50)出现问题:

Cursor cur = db.query(TBL_NAME, null, where, args, null, null, order);

继续查找出错位置,发现传入的where和args参数,数组长度不一致。因此报错“绑定或列的索引超出范围”(android.database.sqlite.SQLiteException: bind or column index out of range)。

解决办法:

找到出错原因后,修改传入参数,保证传入参数where 与args长度一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值