Android SQLITE非法状态异常[重复]

2023-12-22

我使用以下代码将项目添加到数据库:

public static void insertQuestion(Context c,JSONArray jarr,String search) throws JSONException {
        DatabaseWrapper databaseWrapper = new DatabaseWrapper(c);
        SQLiteDatabase database = databaseWrapper.getWritableDatabase();
        ContentValues values = postToContentValues2(jarr);
        values.put(QuestionORM.COLUMN_SEARCH,search);
        long questionId = database.insert(QuestionORM.TABLE_NAME, "null", values);
        Log.e(TAG, "Inserted new Question with ID: " + questionId);
        database.close();
    }

但我收到一条错误消息

“尝试重新打开一个已经关闭的对象”

在这一行:

SQLiteDatabase database = databaseWrapper.getWritableDatabase();

我该如何解决这个问题?

Thanks !


打开前检查一下

if(database != null && database.isOpen()){
// if open then don't open
} 

- - 更新 - -

// 在你的类中添加这个方法

private SQLiteDatabase myDataBase;

...

    public boolean isDatabaseOpened() {
        if (myDataBase == null) {
            return false;
        }
        return myDataBase.isOpen();
    }

如果方法返回 false,则仅根据您的要求调用 getWritableDatabase() 或 getReadableDatabas() 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android SQLITE非法状态异常[重复] 的相关文章

随机推荐

  • 如何在 OS X 中获取当前前台应用程序的名称或 PID?

    我需要在 OS X 中获取当前前台应用程序的名称或 PID 如何使用终端获取它 您可以使用 lsappinfo 命令从终端找到此信息 手册页详细介绍了该工具可以返回的大量信息 为了获取最前面的应用程序 您可以使用 front 参数调用 ls
  • endl 操纵器在哪里定义

    我们知道endl是操纵器 它在内部放置 n 缓冲然后刷新缓冲区 哪里endl定义 什么是endl 是宏 函数 变量 类还是对象 我该如何定义自己的endl操纵者 cout lt lt hello lt lt endl what is end
  • 如何处理 AWS Glue 中映射函数中的错误?

    我正在使用mapDynamicFrame 的方法 或者等效地 Map apply方法 我注意到我传递给这些函数的函数中的任何错误都会被默默地忽略 并导致返回的 DynamicFrame 为空 假设我有一个这样的作业脚本 import sys
  • 禁用命令按钮时,PrimeFaces 6.2 命令按钮标题不起作用

    环境 JSF 2 2 14 PrimeFaces 6 2 我的命令按钮设置如下 当按钮被禁用时 标题将在 PF6 1 中显示 悬停时 但不会在 PF6 2 中显示
  • 模块在本地声明组件,但未导出

    我创建了一个共享模块并声明并导出了其他模块中我需要的组件 import NgModule from angular core import CommonModule from angular common import DateslideC
  • 硒点击坐标没有点击预期的位置

    我需要屏幕抓取使用 ActiveX 控件进行导航的网页 这不是用于用户界面测试目的 而是用于从遗留应用程序下载数据 我遇到的问题是顶部导航是带有 javascript 的完整 ActiveX 不可能通过任何方式获取元素 所以我试图在坐标上单
  • 使用 iOS 6.0 SDK 并针对 iOS 5 Target 进行构建会导致 UIScrollView setMinimumZoomScale 在 iOS 5 模拟器上运行时失败

    i upgraded to Xcode 4 5 and have started using the iOS SDK 6 0 我有一个使用 Xcode 4 4 和 iOS SDK 5 1 开发的通用应用程序 它已经在所有经过测试的设备和模拟
  • 获取 EC2 实例 Java API 的状态

    我正在尝试在 AWS 上自动化一些东西 并且我正在使用 Java API 来执行此操作 我能够启动我想要的实例数量 但我无法找到正确的类或方法来获取实例的当前状态 如运行 停止等 我试过这个 DescribeInstanceStatusRe
  • Java 中的 KDTree 实现

    我正在寻找 Java 中的 KDTree 实现 我已经进行了谷歌搜索 结果似乎很随意 实际上有很多结果 但它们大多只是一次性的小实现 我宁愿找到具有更多 生产价值 的东西 类似于 apache 集合或适用于 NET 的优秀 C5 集合库 我
  • PHP:将 preg_replace 与 htmlentities 一起使用

    我正在写一个RSS to JSON parser作为其中的一部分 我需要使用htmlentities 在描述标签内找到的任何标签上 目前 我正在尝试使用preg replace 但我有点挣扎 我当前的 非工作 代码如下所示 pattern
  • IE10 中的 LinkBut​​tons 不执行回发

    我正在尝试添加一个简单的LinkButton到 ASP NET 4 页面 但它没有调用postback在 IE10 中 代码如下所示 HTML
  • mysql返回更新结果

    我想从 mysql 数据库中选择一堆行并更新这些行的查看属性 这是一种 我已阅读这些 标志 最初我做了这样的事情 update select a b c from mytable where viewed 0 set viewed 1 这可
  • PostgreSQL 与 Postgres Plus

    有谁知道两者之间有什么实质性差异常规 PostgreSQL http www postgresql org and Postgres Plus http www enterprisedb com products postgres plus
  • 如何在 Django/Python 中自动填充 PDF 表单? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有 PDF 表单 我想使用 Django Web 应用程序中的数据自动填充这些表单 然后提供给用户下载
  • config 文件夹中的 main.php 和 main-local.php 之间的区别?

    谁能解释一下两者之间的区别main php and main local php在配置文件夹中 为什么一个人拥有 local 而另一个则没有 你可以阅读配置和环境 https github com yiisoft yii2 app adva
  • Aspectj 覆盖方法的参数

    我正在开发一个方面 用于检查 setter 方法的参数并用 null 值覆盖空字符串 这是我到目前为止的状态 Before execution de foo entity set args java lang String public v
  • 在 VBA 中使用 .NET HashTable 返回类型

    我在 VB NET 中创建了一个 NET 库 并且有一个函数返回一个对象HashTable 我一直在寻找如何在 Excel VBA 中访问 HashTable 对象中的元素 但找不到解决方案 我是 VBA 新手 请原谅我 我已经寻找过 但找
  • Rails 5 Carrierwave 没有与图像匹配的路线

    我需要一些帮助 我正在使用 Rails 5 和 Carrierwave 上传图像 我遇到的问题是图像已保存但不会显示 我得到一个没有路由匹配的 GET 我将图像存储在 Rails root 的上传文件夹中 因为我不希望它们保存在公共环境中目
  • python pandas dataframe按日期条件切片

    我可以使用 python datetime 对象读取和切片 pandas 数据帧 但是我被迫只使用现有日期在索引中 例如 这有效 gt gt gt data
  • Android SQLITE非法状态异常[重复]

    这个问题在这里已经有答案了 我使用以下代码将项目添加到数据库 public static void insertQuestion Context c JSONArray jarr String search throws JSONExcep