Android数据库连接和try catch关于范围

时间:2011-10-27 05:58:41

标签: java android database connection try-catch

您好我正在尝试清理我的代码以删除错误,指出我的数据库连接已打开但未正确关闭。

如果我有一个db.open()然后一些尝试在db查询周围的catch语句然后在try catch之后的db.close()将在try catch中使用相同的db连接或者java离散地运行try catch语句,因此数据库连接不可用。

简而言之,我应该有这样的代码:

db.open();
try {
 // here
 db.getThings()
} catch () {
 // there
}
try {
 // here 2
 db.getMoreThings()
} catch () {
 // there 2
}
db.close();

或者这个:

try {
 // here
 db.open();
 db.getThings()
 db.close();
} catch () {
 // there
}

try {
 // here 2
 db.open();
 db.getMoreThings()
 db.close();
} catch () {
 // there 2
}

我认为打开一个数据库连接的第一个解决方案是更好的。但是我遇到了没有关闭数据库连接的问题,我正在考虑我的设计存在根本问题。

我也尝试在onResume()中打开连接,然后在onPause()中关闭但仍然有问题。

1 个答案:

答案 0 :(得分:0)

建议您在选择数据后立即关闭数据库连接,因此在我的应用中,我主要使用以下模板:

db.open();
try {
    // select data
} finally {
    db.close();
}

它对我有用。