我打开一个sqlite数据库并使用rawquery来获取数据。
但是log.e显示了信息:
android.database.sqlite.SQLiteException:没有这样的表:types:
但是,我真的有这张桌子。
我也尝试使用其他sql,但也得到错误信息,如
android.database.sqlite.SQLiteException:没有这样的表:malls:
我确信有这两张桌子。 那么为什么要收到错误信息?
答案 0 :(得分:11)
如果这是在模拟器上,请使用DDMS文件资源管理器或adb pull
下载数据库文件的副本并确认其内容。
我创建了一个自定义的SQLiteOpenHelper 将此文件复制到路径: /data/data/com.SGMalls/databases/mallMapv2.sqlite
如果您尝试在SQLiteOpenHelper
的{{1}}中复制该文件,则为时已晚。我会在那之前做的。
所以复制文件代码可能不行 复制完整的文件。
在这种情况下,您更有可能收到有关损坏文件的错误。
答案 1 :(得分:2)
如果您有多个内容提供者,您可能会认为您的表存在而不存在。在这种情况下,您获得的错误是合法的。
请查看此处了解详情和解决方案: http://devserghini.blogspot.com/2010/11/android-sqliteopenhelper-and-multiple.html
答案 2 :(得分:2)
我认为更改表结构时会发生此错误。要解决此问题,请清理数据 (设置 - > 管理应用程序 - > 清除数据),然后再安装新应用程序。
问候。
答案 3 :(得分:1)
SQLiteDatabase.execSQL()
解释采用单个字符串sql,以“;”结尾。两行没有解释。
在几行中创建表只是没有执行。