Android Studio中使用SQLite问题:android.database.sqlite.SQLiteException: no such table: XXX (code 1)


一、正确传入数据库名   

这里我们注意的是,在使用数据库的时候,当且仅当创建数据库的时候我们需要借助我们的helper类的构造函数来创建具体表格的时候需要定义当前表格的名字。

比如这里我的Helper类是EventsDBHelper(.java文件)。那么,我在MainActivity中,就需要用具体的名字(我这里的DB_NAME是预先声明的全局变量,类型是String)。


而之后我们对该数据库作U(update)、Q(query)、I(insert)、D(delete)等操作时,我们要传入的数据库名是我们在建表语句中定义的名字。

比如我的建表语句如下图所示,是“EventBase”。


因此,下面我做的所有操作,传入的数据库名均为“EventsBase”。





二、重写onUpgrade函数

这之后,我们还要注意实现Helper类中的onUpgrade函数。

这是因为,我们每一次对表格的UQID操作都相当于在升级数据库。

基本上,我就是通过这两部解决no such table问题的,可能不同的朋友情况会有所不同,在此谨作参考,希望可以帮到需要的朋友!

第一次写博文,如有错误,恳请不吝指出!

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值