首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我使用资产中的.db文件,如何创建新表?

我使用资产中的.db文件,如何创建新表?
EN

Stack Overflow用户
提问于 2013-10-25 09:58:46
回答 2查看 302关注 0票数 0

我是android开发公司的新手。我使用资产中的.db文件。我可以创建新的桌子吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-25 10:36:34

如果您的DB位于资产中,则必须在应用程序开始时将其复制到本地路径中。见下面的代码:

代码语言:javascript
复制
try {
    String inputFilename = "database_name.db";
    InputStream input = getContext().getAssets().open(inputFilename);
    String outputFilename = getContext().getFilesDir().getPath()+inputFilename;
    OutputStream output = new FileOutputStream(outputFilename);
    byte[] buffer = new byte[1024];
    int length;
    while((length = input.read(buffer)) > 0) {
        output.write(buffer,0,length);
    }
    output.flush();
    output.close();
    input.close();
} catch (IOException e) {
    e.printStackTrace();
}

现在,您可以打开DB:

代码语言:javascript
复制
SQLiteDatabase db = SQLiteDatabase.openDatabase(activity.getFilesDir().getPath()+"database_name.db",null,SQLiteDatabase.OPEN_READWRITE);
try {
    db.beginTransaction();
    db.execSQL("CREATE TABLE IF NOT EXISTS table_name ( ... )");
    db.setTransactionSuccessful();
} catch (SQLException e) {
    e.printStackTrace();
} catch (IllegalStateException e) {
    e.printStackTrace();
} finally {
    db.endTransaction();
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-25 10:11:39

使用Sqlite插件为Firefox打开Sqlite。创建和删除表可以使用sqlite管理器完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19586714

复制
相关文章

相似问题

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