鸿蒙Next如何查看数据库数据

在鸿蒙Next系统下,如何查看本地数据库中的数据?有没有类似Android Studio的Database Inspector这样的工具可以直接查看SQLite数据库内容?具体操作步骤是什么?需要额外安装什么软件吗?

2 回复

鸿蒙Next查看数据库?简单!用DevEco Studio的Database Inspector,像偷看邻居家WiFi密码一样轻松。或者写代码用DataAbilityHelper查询,记得加try-catch,不然崩了别怪我没提醒!😄

更多关于鸿蒙Next如何查看数据库数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙(HarmonyOS)Next中,查看数据库数据通常涉及使用关系型数据库(RDB)API。以下是基本步骤和示例代码:

  1. 配置数据库:首先在module.json5中声明数据库权限(如果需要)。

  2. 初始化数据库

    import relationalStore from '[@ohos](/user/ohos).data.relationalStore';
    
    const STORE_CONFIG: relationalStore.StoreConfig = {
      name: 'MyDatabase.db', // 数据库名称
      securityLevel: relationalStore.SecurityLevel.S1 // 安全级别
    };
    
    let rdbStore: relationalStore.RdbStore;
    relationalStore.getRdbStore(this.context, STORE_CONFIG, (err, store) => {
      if (err) {
        console.error('Failed to get RdbStore.');
        return;
      }
      rdbStore = store;
      console.info('Succeeded in getting RdbStore.');
    });
    
  3. 查询数据

    // 构建查询条件(例如查询所有数据)
    let predicates = new relationalStore.RdbPredicates('MY_TABLE'); // 替换为你的表名
    
    // 执行查询
    rdbStore.query(predicates, ['*'], (err, resultSet) => {
      if (err) {
        console.error('Failed to query data.');
        return;
      }
      // 遍历结果
      while (resultSet.goToNextRow()) {
        let id = resultSet.getLong(resultSet.getColumnIndex('id'));
        let name = resultSet.getString(resultSet.getColumnIndex('name'));
        console.info(`ID: ${id}, Name: ${name}`);
      }
      resultSet.close(); // 关闭结果集
    });
    

关键点

  • 确保已创建数据库和表(可通过rdbStore.executeSql执行CREATE语句)。
  • 替换'MY_TABLE'和列名为实际名称。
  • 使用RdbPredicates可添加更复杂的查询条件(如equalToand等)。

如需图形界面查看数据,目前需依赖第三方工具导出数据库文件到电脑,用SQLite工具查看。

回到顶部