• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import StartupTask from '@ohos.app.appstartup.StartupTask';
2import common from '@ohos.app.ability.common';
3import { RdbStoreUtil } from '../util/SingleKVStore';
4import relationalStore from '@ohos.data.relationalStore';
5import { BusinessError } from '@ohos.base';
6import { ValuesBucket } from '@ohos.data.ValuesBucket';
7
8@Sendable
9export default class RdbStoreTask extends StartupTask {
10  constructor() {
11    super();
12  }
13
14  async init(context: common.AbilityStageContext) {
15
16    RdbStoreUtil.getRdbStore(context)
17      .then((rdbStore: relationalStore.RdbStore) => {
18        const SQL_CREATE_TABLE =
19          'CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)'; // 建表Sql语句
20        rdbStore.executeSql(SQL_CREATE_TABLE); // 创建数据表
21        let value1 = 'Lisa';
22        let value2 = 18;
23        let value3 = 100.5;
24        let value4 = new Uint8Array([1, 2, 3, 4, 5]);
25
26        const valueBucket1: ValuesBucket = {
27          'NAME': value1,
28          'AGE': value2,
29          'SALARY': value3,
30          'CODES': value4,
31        };
32
33        rdbStore.insert('EMPLOYEE', valueBucket1, (err: BusinessError, rowId: number) => {
34          if (err) {
35            console.error(`Failed to insert data. Code:${err.code}, message:${err.message}`);
36            return;
37          }
38          console.info(`Succeeded in inserting data. rowId:${rowId}`);
39        })
40
41      }).catch((err: BusinessError) => {
42      console.error(`Failed to create KVManager.message:${err}`);
43    });
44
45  }
46
47  onDependencyCompleted(dependence: string, result: Object): void {
48  }
49}