首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓- SQLite数据库存在吗?

安卓- SQLite数据库存在吗?
EN

Stack Overflow用户
提问于 2011-06-21 11:58:03
回答 2查看 19.8K关注 0票数 6

如何快速检查Android中是否存在数据库?

(不是一个表-整个数据库)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-21 12:02:35

打开您的数据库并捕获SQLitException,如果数据库不存在,将抛出该your。请注意,您不应该调用openOrCreateDatabase()方法。详情请参阅此帖子;Query if Android database exists!

票数 5
EN

Stack Overflow用户

发布于 2012-03-10 00:07:41

我检查数据库是否存在的方法是在数据库上打开一个文件句柄,看看文件是否存在。根据我的经验,如果数据库不存在,使用"openOrCreateDatabase()“函数不会抛出错误。看看它的名字"Open OR Create Database“。这意味着如果没有要打开的数据库,它只会创建一个新的数据库,所以无论以前是否有一个数据库,现在都有一个。我认为唯一会抛出错误的时候就是它不能这样做的时候。从那个家伙说的我不相信是他们试图测试的东西,我想他想让他的程序知道数据库是否事先已经存在,如果没有就不自动创建一个空白的数据库。因此,由于所有的数据库都存储为文件,所以在open database命令中的第一个参数是文件名。所以我认为最好的选择是检查db文件是否存在,如下所示:

代码语言:javascript
运行
复制
File dbtest = new File("/data/data/yourpackagename/databases/dbfilename");

//If you have Context, you could get the Database file using the following syntax
//File dbtest = getApplicationContext().getDatabasePath("dbfilename.db");


if(dbtest.exists())
{
  // what to do if it does exist    
}
else
{
  // what to do if it doesn't exist
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6420182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档