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