您好我正在尝试清理我的代码以删除错误,指出我的数据库连接已打开但未正确关闭。
如果我有一个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()中关闭但仍然有问题。
答案 0 :(得分:0)
建议您在选择数据后立即关闭数据库连接,因此在我的应用中,我主要使用以下模板:
db.open();
try {
// select data
} finally {
db.close();
}
它对我有用。