我打开了一个sqlite数据库并使用rawquery获取数据。
但是log.e显示如下信息:
android.database.sqlite.SQLiteException: 没有这个表格: types:
但是,我真的有这个table。
我还尝试使用其他sql语句,但也得到了错误信息,例如:
android.database.sqlite.SQLiteException: 没有这个表格: malls:
我确定这两个表都存在。那么为什么会得到错误消息呢?
如果您正在模拟器上操作,可以使用 DDMS 文件浏览器或 adb pull
命令下载数据库文件的副本并确认其内容。
我创建了一个自定义的 SQLiteOpenHelper 将该文件复制到路径: /data/data/com.SGMalls/databases/mallMapv2.sqlite
如果您尝试在 SQLiteOpenHelper
的 onCreate()
中复制文件,则为时已晚。建议在此之前进行复制。
因此,复制文件的代码可能无法复制完整的文件。
在这种情况下,更有可能会出现有关损坏文件的错误信息。
SQLiteDatabase.execSQL()
方法接受一个以 ";" 结尾的字符串 sql 作为参数。两行代码未被解释。
仅使用几行 SQL 创建表格可能无法执行。
CREATE TABLE...
命令来创建数据库吗? - tbruyelle