【问题标题】:problem about sqlite database, no such table:关于sqlite数据库的问题,没有这样的表:
【发布时间】:2010-02-26 14:43:55
【问题描述】:

我打开一个 sqlite 数据库并使用 rawquery 获取数据。

但log.e显示信息:

android.database.sqlite.SQLiteException:没有这样的表:类型:

但是,我真的有这张桌子。

而且我也尝试使用其他sql,但也得到诸如

之类的错误信息

android.database.sqlite.SQLiteException:没有这样的表:商场:

我确定有这两张桌子。 那么为什么会收到错误消息呢?

【问题讨论】:

  • 嘿,原始查询是什么样的?表名是“types:”和“malls:”吗?
  • 你真的用CREATE TABLE...创建你的数据库吗?
  • 其实我已经有一个数据库文件了。所以我只是把它放在“资产”文件夹中。我创建了一个自定义 SQLiteOpenHelper 将此文件复制到路径:/data/data/com.SGMalls/databases/mallMapv2.sqlite 然后使用 Sqlitedatabse.open();打开这个数据库并尝试获取数据
  • 原始查询光标 cursor=myDataBase.rawQuery(queryString, null);我已经在 Sqlitebrowser 中测试了这个 queryString。没关系。可以获取数据
  • 这个数据库很大。所以这是问题所在?因为我从“在 Android 应用程序中使用您自己的 SQLite 数据库”reigndesign.com/blog/… 编写了自定义 SQLiteOpenHelper,所以复制文件代码可能无法复制完整文件。是吗?

标签: android sqlite


【解决方案1】:

如果在模拟器上,请使用 DDMS 文件资源管理器或adb pull 下载数据库文件的副本并确认其内容。

我创建了一个自定义 SQLiteOpenHelper 将此文件复制到路径: /data/data/com.SGMalls/databases/mallMapv2.sqlite

如果您试图复制SQLiteOpenHelperonCreate() 中的文件,则为时已晚。在那之前我会做的。

所以复制文件的代码可能不能 复制完整的文件。

在这种情况下,您更有可能收到有关文件损坏的错误。

【讨论】:

  • 好的。非常感谢。所以。如果我想在设备中测试此代码。还需要先将sqlite数据库粘贴到设备中吗? O...我需要仔细阅读教程谢谢
  • 嗨。正如你所说:我使用 ddms 文件资源管理器来拉数据库文件。我发现有三个floder:数据、sdcared 和系统。所以有人好吗?这个文件的路径也是/data/data/com.SGMalls/databases/mallMapv2.sqlite?谢谢。请帮助我
  • >>>>如果您试图在 SQLiteOpenHelper 的 onCreate() 中复制文件,则为时已晚。在那之前我会这样做。
  • @CommonsWare :在我的安卓手机中没有像数据/数据这样的路径。这可能是“找不到表错误”的原因吗?因为我的手机中不存在数据/数据,所以无法将我的数据库从资产文件夹复制到数据/数据/com.myapp/databases。是这个问题吗?
【解决方案2】:

我认为当您更改表结构时会发生此错误。为了解决这个问题,清理数据 (设置 -> 管理应用程序 -> 清除数据)在安装新应用程序之前。

问候。

【讨论】:

    【解决方案3】:

    如果您有多个内容提供程序,您可能会认为您的表存在而实际上不存在。在这种情况下,您得到的错误是合法的。

    查看此处了解详细信息和解决方案: http://devserghini.blogspot.com/2010/11/android-sqliteopenhelper-and-multiple.html

    【讨论】:

      【解决方案4】:

      SQLiteDatabase.execSQL() 解释采用单个字符串 sql,以“;”结尾。有两行没有解释。

      在几行 sql 中创建表只是没有执行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-13
        • 2012-09-30
        • 1970-01-01
        • 1970-01-01
        • 2012-10-16
        • 2013-03-07
        相关资源
        最近更新 更多