我的代码:
public Cursor fetchIncompleteAssignments(Short course) {
DbAdapter adapter = new DbAdapter(context, null, Values.ASSIGNMENT_TABLE);
adapter.open();
Cursor r;
if (course == null) // Fetching from all courses
r = adapter.fetchAllWhere(Values.ASSIGNMENT_LIST_FETCH, Values.ASSIGNMENT_KEY_STATUS + "=" + 0, Values.ASSIGNMENT_KEY_DUE_DATE);
else
r = adapter.fetchAllWhere(Values.ASSIGNMENT_LIST_FETCH, Values.ASSIGNMENT_KEY_COURSE + "=" + course
+ " AND " + Values.ASSIGNMENT_KEY_STATUS + "=" + 0, Values.ASSIGNMENT_KEY_DUE_DATE);
adapter.close();
return r;
}
// Part of DbAdapter:
public DbAdapter open() throws SQLException {
dbHelper = new DatabaseHelper(context);
db = dbHelper.getWritableDatabase();
return this;
}
public void close() {
if (db != null) {
try {
db.close();
dbHelper.close();
} catch (NullPointerException e) {
Log.e("Close", "Error: " + e + " " + e.getMessage());
}
} else
Log.e("Close", "Error! db \"" + DATABASE_TABLE + "\" is null.");
}
从FetChallAssignments()
返回的游标
用于通过自定义的CursorAdapter
填充ListView
。ListView
是ListFragment
的内容,并且在ViewPager的每个页面中都显示了此ListFragment的多个实例(一个用于显示所有课程的作业,然后是每个单独课程的一个页面)。
你知道哪里出了问题吗?据我所知,我正在正确地关闭我的数据库。如果你需要更多代码请告诉我。提前道谢!
编辑:数据是从数据库中提取的,它也填充了ListView。我可以刷过各种页面,但它似乎崩溃每当碎片停止。当我开始另一个活动时,它经常会崩溃,但不总是。当我浏览网页时,它也会偶尔崩溃,虽然很少。下面是我的片段的onPause()方法(我没有onStop()或onDestroy()):
public void onPause() {
super.onPause();
if (!assignmentsCursor.isClosed()) {
assignmentsCursor.close();
assignmentsCursor = null;
}
}
在我的onResume()
中,我只是从数据库重新加载列表,并通过getActivity()
获得上下文的新副本。也许有些东西正在被清除(为了内存的目的),而我没有重新加载它?我没有得到任何类型的NullPointerException,所以在我看来这不太可能...
实际上,引发此异常是因为您双倍关闭了数据库,而不是因为您没有关闭它。
所以..
在close()
方法中,替换代码中的以下行:
if (db != null) {
if (db != null && db.isOpen()) {
因此,当我在表单上输入信息后,它会用新表单刷新new.php页面,但不会提交任何信息。我没有错误,就像我在页面上点击刷新一样。我觉得我做的一切都是对的,但我似乎不明白为什么这不起作用。我刚刚从mysql过渡到mysqli,所以我有点像新手。它也没有回到home.php. new.php
问题内容: 我有些困惑,我从阅读以下内容 你不需要关闭conn连接吗?如果conn.close()没有发生,那实际上是怎么回事? 我有一个正在维护的私有Web应用程序,该应用程序当前无法关闭任何一种形式,但是重要的应用程序真的是stmt,conn还是两者兼而有之? 该站点间歇性地关闭,但是服务器一直在说这是数据库连接问题,我怀疑它没有关闭,但是我不知道该关闭哪个。 问题答案: 使用完之后,你需要通
问题内容: 我正在尝试使用Stream API生成Order实例。我有一个创建订单的工厂函数,并且使用DoubleStream初始化订单金额。 如果我使用文字(1.0)初始化Order实例,则可以正常工作。当我使用doubleStream创建随机数量时,将引发异常。 问题答案: 答案在(重点是我的)的javadoc中: 流仅应操作一次(调用中间流或终端流操作) 。例如,这排除了“分叉”流,其中相同
我正尝试使用一个复选框来使用jQuery更新ID行处的数据库。 我正在使用while循环填充表。JQuery对第1行起作用,正确更新ID为xx的复选框的1或0。当您单击任何其他行时,它会正确地标识ID,但不会返回复选框值。 PHP代码: AJAX代码:
在学习熊猫的过程中,我已经尝试了好几个月来找出这个问题的答案。我在日常工作中使用SAS,这是非常好的,因为它提供了非核心支持。然而,SAS作为一个软件是可怕的,原因还有很多。 有一天,我希望用python和熊猫取代SAS,但我目前缺乏大型数据集的核心外工作流。我说的不是需要分布式网络的“大数据”,而是文件太大,无法放入内存,但又小到足以放入硬盘。 我的第一个想法是使用在磁盘上保存大型数据集,只将我