热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

操作SQLite数据库报错:“绑定或列的索引超出范围”

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd
Html代码
  1. Android 2.3.3              
  2. Eclipse Version: 3.7.0              
  3. LogCat    

LogCat 报错信息:

Java代码
  1. 02-13 09:21:35.030: WARN/dalvikvm(17173): threadid=19: thread exiting with uncaught exception (group=0x40015560)   
  2. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): FATAL EXCEPTION: Thread-26  
  3. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): android.database.sqlite.SQLiteException: bind or column index out of range: handle 0x309b08  
  4. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteProgram.native_bind_string(Native Method)   
  5. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:244)   
  6. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteQuery.bindString(SQLiteQuery.java:185)   
  7. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:48)   
  8. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356)   
  9. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1235)   
  10. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189)   
  11. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1271)   
  12. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at com.tmall.nokia.db.RecordDBHelper.query(RecordDBHelper.java:50)   
  13. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at com.tmall.nokia.manage.RecordDBopt.get(RecordDBopt.java:78)   
  14. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at com.tmall.nokia.manage.RecordMessage.sendMseeage(RecordMessage.java:111)   
  15. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at com.tmall.nokia.manage.RecordMessage.sendMseeage(RecordMessage.java:87)   
  16. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at com.tmall.nokia.Report.run(Report.java:49)   
  17. 02-13 09:21:35.130: ERROR/AndroidRuntime(17173): at java.lang.Thread.run(Thread.java:1019)   
  18. 02-13 09:21:35.200: WARN/ActivityManager(62): Force finishing activity com.tmall.nokia/.Iphone  

发生错误原因分析:
此处at com.tmall.nokia.db.RecordDBHelper.query(RecordDBHelper.java:50)出现问题:

Java代码
  1. Cursor cur = db.query(TBL_NAME, null, where, args, nullnull, order);  

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

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


推荐阅读
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 安卓及谷歌官网不容易上,在此整理好下载地址,这样就可以直接用迅雷下载了。Eclipse最新Mars版Eclipse(暂时还没被墙)Mac版:http:www.eclipse.org ... [详细]
  • SQLite3是一个广泛使用的数据库,从linux,windows到安卓都有SQLite的应用。本文介绍SQLite3在windows上的编译。SQLite3提供了多种源代码的下载 ... [详细]
  • 有没有人用过sqlite?关于tablehasnocolumnnamedcolumn插入数据的时候报上边的错。问题是我明明有这一列。直接在sqlitedevoloper里执 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 我有一个带有H2数据库的springboot应用程序。该应用程序会在启动时引导数据库,为此,我在 ... [详细]
  • 我正在一个涉及SQLite的项目中,我只有一个数据库文件,现在我正在测试我的应 ... [详细]
author-avatar
U友50140862
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有