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}