برنامه نویسی

نحوه استفاده از پایگاه داده در Hongmeng Development

پیشنهاد ویژه

[button color="primary" size="big" link="https://nabfollower.com/buy-real-follower/" icon="" target="true" follow="false"]خرید فالوور واقعی[/button][button color="primary" size="big" link="https://nabfollower.com/buy-instagram-like/" icon="" target="true" follow="false"]خرید لایک اینستاگرام[/button][button color="primary" size="big" link="https://nabfollower.com/buy-instagram-views/" icon="" target="true" follow="false"]خرید ویو اینستاگرام[/button][button color="primary" size="big" link="https://nabfollower.com/" icon="" target="true" follow="false"]خرید فالوور اینستاگرام[/button]

این پایگاه داده در Hongmeng بر اساس اجزای SQLite است و برای پردازش داده ها با روابط نسبتاً پیچیده استفاده می شود.

1. ابتدا ماژول پایگاه داده را وارد کنید:

import relationalStore from '@ohos.data.relationalStore';

2. اطلاعات پایگاه داده را پیکربندی کنید:

const STORE_CONFIG :relationalStore.StoreConfig= {

      name: 'RdbTest.db', // 数据库文件名

      securityLevel: relationalStore.SecurityLevel.S1, // 数据库安全级别

      encrypt: false, // 可选参数,指定数据库是否加密,默认不加密

      dataGroupId: 'dataGroupID' // 可选参数,仅可在Stage模型下使用,表示为应用组ID,需要向应用市场获取。指定在此Id对应的沙箱路径下创建实例,当此参数不填时,默认在本应用沙箱目录下创建。

    };

3. برای به دست آوردن نمونه RDBStore ، لازم به ذکر است که GetContext (این) در اینجا برای به دست آوردن زمینه برنامه استفاده می شود:

const STORE_CONFIG :relationalStore.StoreConfig= {

      name: 'RdbTest.db', // 数据库文件名

      securityLevel: relationalStore.SecurityLevel.S1, // 数据库安全级别

      encrypt: false, // 可选参数,指定数据库是否加密,默认不加密

      // dataGroupId: 'dataGroupID' // 可选参数,仅可在Stage模型下使用,表示为应用组ID,需要向应用市场获取。指定在此Id对应的沙箱路径下创建实例,当此参数不填时,默认在本应用沙箱目录下创建。

    };



    const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS WORKER (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, GENDER TEXT NOT NULL)'; 



    relationalStore.getRdbStore(getContext(this),STORE_CONFIG,(err,store)=>{

      if (err) {

        console.error(`Failed to get RdbStore. Code:${err.code}, message:${err.message}`);

        return;

      }

      console.info('Succeeded in getting RdbStore.');



      // 当数据库创建时,数据库默认版本为0

      if (store.version === 0) {

        store.executeSql(SQL_CREATE_TABLE); // 创建数据表

        // 设置数据库的版本,入参为大于0的整数

        store.version = 3;

      }







    })

درج داده ها

نوع داده درج شده مقادیر bucket است ، و ماژول مقادیر bucket ابتدا باید معرفی شود:

import { ValuesBucket } from '@ohos.data.ValuesBucket';



const valueBucket1: ValuesBucket = {

        'NAME': 'Bob',

        'AGE': '18',

        'GENDER': '男',

      };

if (store !== undefined) {

   (store as relationalStore.RdbStore).insert('WORKER', valueBucket1, (err: BusinessError, rowId: number) => {

       if (err) {

            console.error(`Failed to insert data. Code:${err.code}, message:${err.message}`);

            return;

          }

          console.info(`Succeeded in inserting data. rowId:${rowId}`);

     })

}

تغییر داده ها

به عنوان نمونه ، سن باب را اصلاح کنید:

const valueBucket2: ValuesBucket = {

        'NAME': 'Bob',

        'AGE': '24',

        'GENDER': '男',

};
// 修改数据

let predicates = new relationalStore.RdbPredicates('WORKER');

predicates.equalTo('NAME', 'Bob'); 

if (store !== undefined) {

   (store as relationalStore.RdbStore).update(valueBucket2, predicates, (err: BusinessError, rows: number) => {

       if (err) {

          console.error(`Failed to update data. Code:${err.code}, message:${err.message}`);

          return;

        }

          console.info(`Succeeded in updating data. row count: ${rows}`);

     }

}

حذف داده ها:

// 删除数据
predicates.equalTo('NAME', 'Bob');

  if (store !== undefined) {

     (store as relationalStore.RdbStore).delete(predicates, (err: BusinessError, rows: number) => {

        if (err) {

          console.error(`Failed to delete data. Code:${err.code}, message:${err.message}`);

          return;

        }

        console.info(`Delete rows: ${rows}`);

   }

}

داده های پرس و جو:

if (store !== undefined) {

        (store as relationalStore.RdbStore).query(predicates, ['ID', 'NAME', 'AGE', 'GENDER'], (err: BusinessError, resultSet) => {

          if (err) {

            console.error(`Failed to query data. Code:${err.code}, message:${err.message}`);

            return;

          }

          console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);

          // resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。

          while (resultSet.goToNextRow()) {

            const id = resultSet.getLong(resultSet.getColumnIndex('ID'));

            const name = resultSet.getString(resultSet.getColumnIndex('NAME'));

            const age = resultSet.getLong(resultSet.getColumnIndex('AGE'));

            const gender = resultSet.getDouble(resultSet.getColumnIndex('GENDER'));

            console.info(`id=${id}, name=${name}, age=${age}, gender=${gender}`);

          }

          // 释放数据集的内存

          resultSet.close();

        })

      }

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا