欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Rdb創(chuàng)建的Data_Ability的數(shù)據(jù)操作過程

OpenHarmony技術(shù)社區(qū) ? 來源:HarmonyOS技術(shù)社區(qū) ? 作者:HarmonyOS技術(shù)社區(qū) ? 2022-04-12 08:56 ? 次閱讀

首先介紹幾個(gè)基本概念和方法

①關(guān)系型數(shù)據(jù)庫

基于關(guān)系模型來管理數(shù)據(jù)的數(shù)據(jù)庫,以行和列的形式存儲(chǔ)數(shù)據(jù)。(可以簡單理解成一個(gè) excel 表格的形式)

②謂詞

數(shù)據(jù)庫中用來代表數(shù)據(jù)實(shí)體的性質(zhì)、特征或者數(shù)據(jù)實(shí)體之間關(guān)系的詞項(xiàng),主要用來定義數(shù)據(jù)庫的操作條件。(謂詞:屬于函數(shù)的一種,但其返回值是真值(true/false/unknown))

③結(jié)果集

指用戶查詢之后的結(jié)果集合,有多種方法可以對(duì)數(shù)據(jù)進(jìn)行訪問。

④SQLite 數(shù)據(jù)庫

它是一個(gè)開源的輕型的數(shù)據(jù)庫。

⑤場(chǎng)景介紹

關(guān)系型數(shù)據(jù)庫是在 SQLite 基礎(chǔ)上實(shí)現(xiàn)的本地?cái)?shù)據(jù)操作機(jī)制,提供給用戶無需編寫原生 SQL 語句就能進(jìn)行數(shù)據(jù)增刪改查的方法,同時(shí)也支持原生 SQL 語句操作。

再看幾個(gè)Data中相關(guān)生命周期功能介紹

如下圖:

基于Rdb創(chuàng)建的Data_Ability的數(shù)據(jù)操作過程

運(yùn)作機(jī)制

基于Rdb創(chuàng)建的Data_Ability的數(shù)據(jù)操作過程

從上圖可以知:Data 模板的 Ability 是基于 Rdb 封裝的,Rdb 是基于 SQLite 數(shù)據(jù)庫,一個(gè)開源的輕型的數(shù)據(jù)庫,所以Data_Ability 高效便捷的為我們提供了一套工具去管理其自身和其他應(yīng)用存儲(chǔ)數(shù)據(jù)的訪問。 下面逐步分析基于 Rdb 創(chuàng)建的一個(gè) Data_Ability 的數(shù)據(jù)操作過程:
//=====================導(dǎo)入模塊部分=========================
//導(dǎo)入DataAbility謂詞相關(guān)模塊
importdataAbilityfrom'@ohos.data.dataability'
//導(dǎo)入rdb關(guān)系數(shù)據(jù)庫模塊
importdataRdbfrom'@ohos.data.rdb'
//=====================定義變量部分=========================
//定義數(shù)據(jù)庫表名book
constTABLE_NAME='book'
//與此RDB存儲(chǔ)相關(guān)的數(shù)據(jù)庫配置。. encryptKey:為數(shù)據(jù)庫設(shè)置的加密密鑰
constSTORE_CONFIG={name:'book.db',encryptKey:newUint8Array([])}
//定義SQL_CREATE_TABLE關(guān)鍵字參數(shù),下面執(zhí)行參數(shù)會(huì)用到
constSQL_CREATE_TABLE='CREATETABLEIFNOTEXISTSbook(idINTEGERPRIMARYKEYAUTOINCREMENT,nameTEXTNOTNULL,ageINTEGER,introductionTEXTNOTNULL)'
//定義一個(gè)變量進(jìn)行儲(chǔ)存數(shù)據(jù)庫返回內(nèi)容,避免多次調(diào)用執(zhí)行,節(jié)省性能
letrdbStore:any=undefined
//測(cè)試用打log用的
constTAG='DataAbility.data'
//=====================創(chuàng)建數(shù)據(jù)庫=========================
exportdefault{
// onInitialized 在Ability初始化調(diào)用,通過此回調(diào)方法執(zhí)行rdb等初始化操作。
onInitialized(abilityInfo){
console.info('DataAbilityonInitialized,abilityInfo='+abilityInfo.bundleName)
//getRdbStore()獲得一個(gè)相關(guān)的RdbStore,操作關(guān)系型數(shù)據(jù)庫,用戶可以根據(jù)自己的需求配置RdbStore的參數(shù),然后通過RdbStore調(diào)用相關(guān)接口可以執(zhí)行相關(guān)的數(shù)據(jù)操作,結(jié)果以callback形式返回。
dataRdb.getRdbStore(STORE_CONFIG,1,(err,store)=>{
console.info('[data]getRdbStoreThen')
//執(zhí)行包含指定參數(shù)但不返回值的SQL語句,結(jié)果以Promise形式返回。
store.executeSql(SQL_CREATE_TABLE,[])
//把獲得的數(shù)據(jù)庫存入本地變量,防止后面多次操作讀取創(chuàng)建
rdbStore=store
});
},
//=====================數(shù)據(jù)庫操作方法=========================
//url:通信使用的URI
//callback:自定義回調(diào)函數(shù)名如果操作成功,則返回ResultSet對(duì)象。
//valueBucket:指示數(shù)據(jù)庫中要更新的數(shù)據(jù)行。鍵值對(duì)與數(shù)據(jù)庫表的列名相關(guān)聯(lián)
//TABLE_NAME:指定的目標(biāo)表名。
//insert:向數(shù)據(jù)中插入一條數(shù)據(jù)。 callbacke方式調(diào)用:
insert(uri,valueBucket,callback){
console.info(TAG+'insertstart')
rdbStore.insert(TABLE_NAME,valueBucket,callback)
},


//url:通信使用的URI
//valueBucket:指示數(shù)據(jù)庫中要更新的數(shù)據(jù)行。鍵值對(duì)與數(shù)據(jù)庫表的列名相關(guān)聯(lián)
//callback:指定callback回調(diào)函數(shù)。如果操作成功,則返回ResultSet對(duì)象。
// batchInsert:向數(shù)據(jù)庫中插入多條數(shù)據(jù)。
batchInsert(uri,valueBuckets,callback){
console.info(TAG+'batchinsertstart')
//循環(huán)遍歷
for(leti=0;iconsole.info(TAG+'batchinserti='+i)
if(i1){
//最終還是用到的insert方法
rdbStore.insert(TABLE_NAME,valueBuckets[i],(num:number)=>{
console.info(TAG+'batchinsertret='+num)
})
}else{
rdbStore.insert(TABLE_NAME,valueBuckets[i],callback)
}
}
},



//url:通信使用的URI
//predicates:表示rdbPredicates的實(shí)例對(duì)象指定的查詢條件。
//columns:表示要查詢的列。如果值為空,則查詢應(yīng)用于所有列。
//callback:指定callback回調(diào)函數(shù)。如果操作成功,則返回ResultSet對(duì)象。
//query:查詢數(shù)據(jù)庫中的數(shù)據(jù)。
query(uri,columns,predicates,callback){
console.info(TAG+'querystart')
letrdbPredicates=dataAbility.createRdbPredicates(TABLE_NAME,predicates)
rdbStore.query(rdbPredicates,columns,callback)
},

//url:通信使用的URI
//valueBucket:指示數(shù)據(jù)庫中要更新的數(shù)據(jù)行。鍵值對(duì)與數(shù)據(jù)庫表的列名相關(guān)聯(lián)
//predicates:表示要插入到表中的數(shù)據(jù)行。
//callback:指定callback回調(diào)函數(shù)。如果操作成功,則返回ResultSet對(duì)象。
// update:更新數(shù)據(jù)庫中的數(shù)據(jù)。
update(uri,valueBucket,predicates,callback){
console.info(TAG+'updatestart')
letrdbPredicates=dataAbility.createRdbPredicates(TABLE_NAME,predicates)
rdbStore.update(valueBucket,rdbPredicates,callback)
},



//url:通信使用的URI
//delete:刪除一條或多條數(shù)據(jù)。
//predicates:表示要?jiǎng)h除表中的數(shù)據(jù)行。
//callback:指定callback回調(diào)函數(shù)。如果操作成功,則返回ResultSet對(duì)象。
delete(uri,predicates,callback){
console.info(TAG+'deletestart')
letrdbPredicates=dataAbility.createRdbPredicates(TABLE_NAME,predicates)
rdbStore.delete(rdbPredicates,callback)
}
};

文章有錯(cuò)誤地方還請(qǐng)大佬一定指出糾正!

原文標(biāo)題:鴻蒙Data Ability關(guān)系數(shù)據(jù)庫使用

文章出處:【微信公眾號(hào):HarmonyOS技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3851

    瀏覽量

    64717
  • Data
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    38344
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3330

    瀏覽量

    49253

原文標(biāo)題:鴻蒙Data Ability關(guān)系數(shù)據(jù)庫使用

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    手動(dòng)移液器的使用操作過程

    手動(dòng)移液器的使用操作過程  手動(dòng)移液器常見于臨床試驗(yàn)和實(shí)驗(yàn)室試驗(yàn)中,不同類型的移液器操作過程也有所不同,下面具體的解析一下?! ∫?、使用方法:  1.根據(jù)所需取液量選擇相應(yīng)移液器及吸液嘴。  2.
    發(fā)表于 11-20 11:51

    電路板手工焊接操作過程

    `哪位大神可以分享電路板手工焊接的操作過程嗎?`
    發(fā)表于 02-29 15:14

    求ATmega168看門狗復(fù)位的具體操作過程?

    ATmega168看門狗復(fù)位的具體操作過程
    發(fā)表于 11-18 07:17

    千萬注意!纖薄器件在操作過程中損壞不得

    千萬注意!纖薄器件在操作過程中損壞不得
    發(fā)表于 04-29 06:29

    怎樣去操作FTS-300光纜普查儀?在操作過程中有哪些常見問題?

    FTS-300光纜普查儀的測(cè)試原理FTS-300光纜普查儀的功能應(yīng)用范圍怎樣去操作FTS-300光纜普查儀?在操作過程中有哪些常見問題?
    發(fā)表于 05-06 09:42

    C語言的平臺(tái)操作過程

    兩種學(xué)習(xí)C語言的平臺(tái)操作過程,在后續(xù)內(nèi)容學(xué)習(xí)中需要熟練應(yīng)用。這兩種方式分別為:keil c51編程軟件+硬件調(diào)試平臺(tái)臺(tái),,keilkeil c51c51編程軟件編程軟件+ proteusproteus軟件...
    發(fā)表于 07-20 06:19

    如何去實(shí)現(xiàn)STM32串口通訊的操作過程

    STM32串口通訊有哪幾種方式呢?如何去實(shí)現(xiàn)STM32串口通訊的操作過程呢?
    發(fā)表于 12-07 07:28

    STM32內(nèi)部FLASH操作過程

    一般說STM32內(nèi)部FLASH就是指主存儲(chǔ)器區(qū)域?qū)憙?nèi)部FLASH操作過程解鎖在對(duì)FLASH寫數(shù)據(jù)之前,需要先給解鎖,因?yàn)樾酒瑸榱朔乐拐`操作修改應(yīng)用程序,復(fù)位之后會(huì)給控制寄存器FLASH_CR上鎖(1
    發(fā)表于 12-09 06:37

    GPIO輸入完成按鍵掃描的操作過程是怎樣的

    GPIO輸入完成按鍵掃描的操作過程是怎樣的
    發(fā)表于 02-08 07:29

    RT-Thread操作系統(tǒng)從開機(jī)到關(guān)機(jī)的操作過程是怎樣的?

    RT-Thread操作系統(tǒng)從開機(jī)到關(guān)機(jī)的操作過程是怎樣的?
    發(fā)表于 02-15 07:43

    基于Rdb創(chuàng)建的一個(gè)Data_Ability數(shù)據(jù)操作過程

    一套工具去管理其自身和其他應(yīng)用存儲(chǔ)數(shù)據(jù)的訪問下面逐步分析基于Rdb創(chuàng)建的一個(gè)Data_Ability數(shù)據(jù)
    發(fā)表于 03-29 13:50

    心電監(jiān)護(hù)儀操作過程

    心電監(jiān)護(hù)儀是醫(yī)院實(shí)用的精密醫(yī)學(xué)儀器,能同時(shí)監(jiān)護(hù)病人的動(dòng)態(tài)心電圖形、呼吸、體溫、等生理參數(shù)。這里提供了心電監(jiān)護(hù)儀操作過程使用維護(hù)。
    發(fā)表于 12-21 17:36 ?2.1w次閱讀
    心電監(jiān)護(hù)儀<b class='flag-5'>操作過程</b>

    FPGA應(yīng)用中部分重配置的操作過程

    Partial Reconfiguration(部分重配置)在現(xiàn)在的FPGA應(yīng)用中越來越常見,我們這次的教程以Project模式為例來說明部分重配置的操作過程。
    的頭像 發(fā)表于 07-05 15:28 ?3788次閱讀
    FPGA應(yīng)用中部分重配置的<b class='flag-5'>操作過程</b>

    在線快速修復(fù)終聚釜攪拌器軸磨損的現(xiàn)場(chǎng)操作過程

    在線快速修復(fù)終聚釜攪拌器軸磨損的現(xiàn)場(chǎng)操作過程
    發(fā)表于 12-06 15:17 ?5次下載

    磐石測(cè)控:深圳扭轉(zhuǎn)試驗(yàn)機(jī)操作過程是什么樣的?

    磐石測(cè)控:深圳扭轉(zhuǎn)試驗(yàn)機(jī)操作過程是什么樣的?
    的頭像 發(fā)表于 10-20 11:17 ?728次閱讀
    磐石測(cè)控:深圳扭轉(zhuǎn)試驗(yàn)機(jī)<b class='flag-5'>操作過程</b>是什么樣的?