我创建了一个类,并从SQLiteOpenHelper
扩展了我的Android应用程序中的复制和使用sqlite数据库。这个类包含两个方法:检查sqlite安卓数据库是打开还是关闭
public void OpenDatabase();
和
public void CloseDatabase();
用于打开和关闭数据库。 在其他活动和类中如何检查我的数据库现在是打开还是关闭?
我创建了一个类,并从SQLiteOpenHelper
扩展了我的Android应用程序中的复制和使用sqlite数据库。这个类包含两个方法:检查sqlite安卓数据库是打开还是关闭
public void OpenDatabase();
和
public void CloseDatabase();
用于打开和关闭数据库。 在其他活动和类中如何检查我的数据库现在是打开还是关闭?
您可以在每次使用该SQLiteDatabase对象之前,通过调用isDbLockedByCurrentThread
或isDbLockedByOtherThreads
轻松检查数据库是否已被使用。这将防止多个操作到数据库,并从潜在的崩溃
设置标志保存在你的类的应用程序来跟踪..
class poop extends SQLiteOpenHelper{
private boolean isDBOpenf = false;
public void OpenDatabase(){
// open database
isDBOpenf = true;
}
public void CloseDatabase(){
// close database
isDBOpenf = false;
}
public boolean isDBOpen(){ return isDBOpenf; }
}
你的口头禅应该是'打开它,使用它。关闭它'。切勿将其打开! –
@Rotwang - 如果你的函数在按顺序调用db的情况下执行单独的工作,那么让它开放是有意义的。例如,如果您有更新单个列的功能,并且需要更新三列。可以通过征税来连续3次打开和关闭一个dabase –
@pamblam为什么不能执行一次更新3列的UPDATE?我可以。对于涉及一批命令的操作,有**事务**。再次:“打开它,使用它,关闭它”。这是一个口头禅。我从32年开始编写程序。这个咒语**从来没有失败过**。 –