You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发SQLite操作点击按钮应用崩溃logcat报错求助

报错原因分析
  • 核心错误为SQL语法错误:你执行的查询语句SELECT _id, data FROM table中直接使用table作为表名,而table是SQLite官方保留关键字,不允许直接作为表名、列名等标识符使用,因此SQL编译阶段直接抛出异常,最终触发应用崩溃。
  • 错误代码可直接定位到com.example.db1.MyDbAdapter类的getData方法第27行,也就是你组装查询SQL或者调用SQLiteDatabase.query方法传入表名的位置。
解决方案

有两种修复方案,优先推荐第一种:

  • 方案1(推荐):修改表名,避免使用保留关键字
    将数据库表名从table修改为非保留关键字的名称,例如data_records、user_table等,同时同步修改所有涉及该表的代码:包括建表语句、增删改查所有操作中传入表名的参数。
  • 方案2(仅用于兼容已有旧业务):用反引号包裹保留关键字
    如果你确实需要保留table作为表名,在所有用到该表名的SQL语句中,用反引号`把表名包裹即可。例如查询语句修改为SELECT _id, data FROM \table`,如果是调用SQLiteDatabase.query方法,传入的表名参数写为``"table`"``。

额外提醒:SQLite的保留关键字还有order、group、select、where等,后续命名表、字段时都要避免直接使用这类词汇,否则会触发同类语法错误。

内容的提问来源于stack exchange,提问作者SalsaL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:45:05