HarmonyOS 鸿蒙Next 如何在一个DateAbility中创建一个RDB数据库和多个表,以及相应的配置

HarmonyOS 鸿蒙Next 如何在一个DateAbility中创建一个RDB数据库和多个表,以及相应的配置 我最近做的一个APP,需要一个存在很多表的RDB数据库,但是看了官方资料,没有介绍说如何创建多个表以及配置,这个资料根本找不到,官方也没有,求大佬解答

7 回复

楼主你好,可以参考关系型数据库开发文档:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/database-relational-guidelines-0000000000030051

创建数据表可以参考如下代码:

DatabaseHelper helper = new DatabaseHelper(context); 
StoreConfig config = StoreConfig.newDefaultConfig("RdbStoreTest.db");
RdbOpenCallback callback = new RdbOpenCallback() {
    @Override
    public void onCreate(RdbStore store) {
        store.executeSql("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, salary REAL, blobType BLOB)");
    }
    @Override
    public void onUpgrade(RdbStore store, int oldVersion, int newVersion) {
    }
};
RdbStore store = helper.getRdbStore(config, 1, callback, null);

如果需要创建多个表,可以多次executeSql方法来执行创建表的SQL语句。

更多关于HarmonyOS 鸿蒙Next 如何在一个DateAbility中创建一个RDB数据库和多个表,以及相应的配置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个方法之前就用过来了,不行,系统会闪退,

楼主您好,如果需要创建多个表,可以试试对象关系型数据库,具体可参考: https://developer.harmonyos.com/cn/docs/documentation/doc-guides/database-orm-guidelines-0000000000030063

都是JAVA开发,集MYSql就行了吧

大佬,麻烦可否具体一点,

欢迎开发小伙伴们进来帮帮楼主

在HarmonyOS鸿蒙Next中,要在一个DateAbility中创建一个RDB(Relational Database)数据库和多个表,可以按照以下步骤进行:

  1. 初始化数据库助手: 在DateAbilityonStartonConnect方法中,初始化StoreKit提供的数据库助手DatabaseHelper

  2. 创建数据库: 使用DatabaseHelpercreateDatabase方法,传入数据库名称和版本号来创建数据库。如果数据库已存在且版本号相同,则不会重新创建。

  3. 创建表: 在数据库创建成功后,使用DatabaseHelpercreateTable方法,传入表名称和表的定义(包括列名、数据类型等)来创建表。可以多次调用此方法以创建多个表。

  4. 配置: 配置部分通常包括设置数据库名称、版本号以及在创建表时定义的表结构和约束条件。这些配置在调用createDatabasecreateTable方法时已完成。

示例代码(伪代码,具体API需参考HarmonyOS文档):

// 假设这是DateAbility的某个方法中
DatabaseHelper dbHelper = new DatabaseHelper(this, "myDatabase", 1);
dbHelper.createDatabase();

// 创建表1
dbHelper.createTable("table1", new TableDef(...));
// 创建表2
dbHelper.createTable("table2", new TableDef(...));

// 后续可以进行数据库操作

请注意,上述代码为简化示例,实际开发中需根据HarmonyOS的API文档填充TableDef的具体内容。

如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部