当前位置: 首页 > 知识库问答 >
问题:

Android Pie中的数据库导入问题?

云胤
2023-03-14

我正在对多个表使用预加载数据库,所有表中的表中都已存在数据。我的错误logcat显示“没有这样的表:cake(代码1 SQLITE_错误):,编译时:select*from cake at”,但实际上表及其数据已经存在。

我也检查了复制的数据库在电话,它在那里,但在代码中显示上面的错误。

如何解决这个问题??

注意:此错误仅在谷歌像素手机中发生。。

AndroidRuntime:致命异常:主进程:com。埃比扎普斯。SwadishTookingRecippesinindi,PID:9060 java。lang.RuntimeException:无法启动活动组件信息{com.ebizzapps.swadistcokingregeripesinhindi/com.ebizzapps.swadistcokingregeripesinindi.DetailRecipe}:android。数据库sqlite。SQLiteException:没有这样的表:cake(代码1 SQLITE_错误):,编译时:在android上从cake中选择*。应用程序。活动线程。在android上执行启动活动(ActivityThread.java:2913)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:3048)。应用程序。服务器事务。启动ActivityItem。在android上执行(LaunchActivityItem.java:78)。应用程序。服务器事务。事务执行器。android上的executeCallbacks(TransactionExecutor.java:108)。应用程序。服务器事务。事务执行器。在android上执行(TransactionExecutor.java:68)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1808)。操作系统。处理程序。android上的dispatchMessage(Handler.java:106)。操作系统。活套。android上的loop(Looper.java:193)。应用程序。活动线程。java上的main(ActivityThread.java:6669)。朗。反思。方法在com上调用(本机方法)。Android内部的操作系统。RuntimeInit$MethodAndArgsCaller。在com上运行(RuntimeInit.java:493)。Android内部的操作系统。合子体。main(ZygoteInit.java:858)由以下原因引起:android。数据库sqlite。SQLiteException:没有这样的表:cake(代码1 SQLITE_错误):,编译时:在android上从cake中选择*。数据库sqlite。SQLiteConnection。android上的nativePrepareStatement(本机方法)。数据库sqlite。SQLiteConnection。android上的acquirePreparedStatement(SQLiteConnection.java:903)。数据库sqlite。SQLiteConnection。在android上准备(SQLiteConnection.java:514)。数据库sqlite。SQLiteSession。在android上准备(SQLiteSession.java:588)。数据库sqlite。SQLiteProgram。(SQLiteProgram.java:58)在android上。数据库sqlite。SQLiteQuery。(SQLiteQuery.java:37)在android上。数据库sqlite。SQLiteDirectCursorDriver。android上的查询(SQLiteDirectCursorDriver.java:46)。数据库sqlite。SQLiteDatabase。android上的rawQueryWithFactory(SQLiteDatabase.java:1408)。数据库sqlite。SQLiteDatabase。com上的rawQuery(SQLiteDatabase.java:1347)。埃比扎普斯。斯瓦迪什科奇皮辛迪。DBHelper。com上的getDatas(DBHelper.java:162)。埃比扎普斯。斯瓦迪什科奇皮辛迪。详细的食谱。android上的onCreate(DetailRecipe.java:161)。应用程序。活动在android上执行创建(Activity.java:7136)。应用程序。活动在android上执行创建(Activity.java:7127)。应用程序。仪器仪表。android上的callActivityOnCreate(Instrumentation.java:1271)。应用程序。活动线程。在android上执行启动活动(ActivityThread.java:2893)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:3048)。应用程序。服务器事务。启动ActivityItem。在android上执行(LaunchActivityItem.java:78)。应用程序。服务器事务。事务执行器。android上的executeCallbacks(TransactionExecutor.java:108)。应用程序。服务器事务。事务执行器。在android上执行(TransactionExecutor.java:68)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1808)。操作系统。处理程序。android上的dispatchMessage(Handler.java:106)。操作系统。活套。android上的loop(Looper.java:193)。应用程序。活动线程。java上的main(ActivityThread.java:6669)。朗。反思。方法在com上调用(本机方法)。Android内部的操作系统。RuntimeInit$MethodAndArgsCaller。在com上运行(RuntimeInit.java:493)。Android内部的操作系统。合子体。main(ZygoteInit.java:858)

共有3个答案

喻子航
2023-03-14

创建一个表并将其命名为“蛋糕”。根据错误日志

没有这样的餐桌“蛋糕”。我想你忘了把数据库放在资产文件夹里。

谢谢你

朱昊乾
2023-03-14

从错误日志中。

没有这样的表:cake(代码1 SQLITE_错误):,编译时:在

它提到没有任何名为cake的表。所以,在从表中获取值之前,请确保数据库中已经存在具有此名称的表。

邬宜然
2023-03-14

请参阅这篇stackoverflow文章:Android P SQLite Pragma日志。

在SQLiteOpenHelper的onOpen方法上禁用预写日志记录,如下所示:

@Override
public void onOpen(SQLiteDatabase db) {
    super.onOpen(db);
    db.disableWriteAheadLogging();
}
 类似资料:
  • 如果想要导入数据库,必须使用由命令生成的JSON格式导出文件。 在本章中,学习如何从OrientDB命令行导入数据库。 以下语句是数据库命令的基本语法。 注 - 只有在连接到特定数据库后才能使用此命令。 示例 在这个例子中,我们将使用在前一章中创建的名为的数据库。可以使用以下命令将数据库导入名为的文件。 如果成功执行,将会看到以下输出以及成功的通知。

  • 我正在尝试将mysql数据库导入新版本的xampp(v7.1.8)。按下导入按钮后,我收到数百条此错误消息: 请注意.\vendor\phpmyadmin\sql parser\src\UtfString.php#128未初始化字符串偏移量:516 回溯 .\vendor\phpmyadmin\sql parser\src\Lexer.php\823:phpmyadmin\SqlParser\Ut

  • 问题内容: 我试图通过在管理员内部调整modelform来将csv文件导入数据库: models.py: Forms.py: Admin.py: 但是我一直试图导入我在“ file_to_import”字段中放入的文件。在Forms.py中获取AttributeError:’function’对象没有属性’FILES’。 问题答案: 经过长时间的搜索,我找到了答案:使用标准表单在管理员内部创建视图

  • 拿到了一份敏感词的json文件,想通过nodejs循环插入数据库中 但是每次都会报错,不知道是怎么回事,有大佬帮忙看看呗 报错 设计的表

  • 主要内容:创建新用户并授予权限,创建数据库表,将数据加载到表中在本教程中,您将学习如何在Oracle数据库服务器中创建OT 样本数据库。 请注意,本教程中的命令您可能并不熟悉,但也会影响操作。首先,只需按照说明一步一步创建示例数据库即可。可以在下一个教程中学习每个命令。 为了方便,这里分别演示在Oracle 11g和Oracle 12c下如何创建用户和导入示例数据库。 创建新用户并授予权限 首先,启动SQL plus 程序的命令行: 如下所示 - 或者从开始

  • 尝试将数据库备份(.sql)从docker容器MySQL:5.6导入到我的本地MySQL(MariaDB)中。 下面是我使用的命令: 也想试试mysqlimport,但我总是遇到同样的错误。 第1行错误1064(42000):您的SQL语法中有错误;查看与您的MariaDB服务器版本相对应的手册,以了解在第1行“MySQL Ver 14.14 Distrib 5.6.33,for Linux(x8