AIR本地資料庫的使用

2021-06-03 04:55:03 字數 1618 閱讀 2126

air本地資料庫的使用

最近做個桌面的小應用,想要使用air的本地資料庫功能,儲存使用者的歷史操作資訊和資料,其實就是儲存使用者已經開啟過的檔案。對使用者的操作資訊的儲存,的確是很有用的,日後可以以此進行分析,總結使用者習慣,設計更加友好的程式,更符合使用者自然人操作行為的介面。另外本地資料庫的使用也可以儲存程式的狀態,比如使用者的個性化設定,使用者偏好。

我想把使用者開啟檔案的歷史記錄寫進本地資料庫裡,以後點開開啟記錄時查詢資料庫。軟體安裝後第一次開啟使用時,會建立資料庫,以後再開啟軟體會先檢視資料庫是否存在,如果存在,則查詢資料庫,讀取記錄;如果不存在或者被刪掉了,則新建資料庫。

首先說一下as3提供的關於資料庫的api: sqlconnection, sqlstatement,sqlresult,file, sql查詢時的事件有sqlevent.result, sqlevent.open, sqlerrorevent.error.

第一步開啟資料庫連線。

var conn:sqlconnection = new sqlconnection();

conn.addeventlistener(sqlevent.open, connopenhandler);

var dbfile:file = new file(「……..」);//本地資料庫檔案的位址。通常會放在應用程式的安裝目錄裡。

conn.open(dbfile);

//定義開啟處理函式;

private function connopenhandler(evt:sqlevent):void

第二步新建資料庫查詢物件,並與資料庫連線關聯。

var dbstatement:sqlstatement = new sqlstatement();

dbstatement.sqlconnection = conn;

在確定資料庫連線開啟的狀態下,可以進行資料庫查詢了。

//假設儲存已開啟檔案資訊的表是 「fileopeneddb」,該錶儲存了檔名,檔案位址,瀏覽次數。

var sqltxt:string=」select filename, fileurl from fileopeneddb」;

dbstatement.sql=sqltxt;

dbstatement.addeventlistener(air.sqlevent.result, resulthandler);

dbstatement.addeventlistener(air.sqlerrorevent.error, errorhandler);

實現查詢結果偵聽

private function resulthandler(evt)

}}private function errorhandler(event)

基本上就是這種用法,建立資料表也是一樣的,只是把sqlstatement的查詢語句改掉就行。

air的本地資料庫查詢支援同步和非同步兩種執行模式。對於資料量比較大的查詢應該保用非同步方式,畢竟快速響應對於使用者來說是很重要的。

網路上有很多相關的文章,有興趣的可以自己去搜搜。

Air應用程式訪問本地資料庫

adobe air 包括乙個 sql 資料庫引擎,該引擎使用開放源 sqlite 資料庫系統,支援具有許多標準 sql 功能的本地 sql 資料庫。執行時未指定在檔案系統上儲存資料庫資料的方式或位置。每個資料庫都完全儲存在單個檔案中。開發人員可指定在檔案系統中儲存資料庫檔案的位置,單個 air 應用...

AIR中操作使用sqlite資料庫

這是大公尺關於flex air應用的第一篇文章,在以後的一段時間內我都將研究關於這一塊的技術。我會將我碰到的問題或者一些技術點的心得記錄下來,可能會比較雜,但是希望自己能通過寫部落格的方式重新穩固一遍,也讓碰到同樣問題的it童鞋們能少走彎路。這篇文章主要講flex中對sqlite的使用,非常的簡單,...

iOS本地資料庫FMDB的使用

fmdb是一種第三方的開源庫,fmdb就是對sqlite的api進行了封裝,加上了物件導向的思想,讓我們不必使用繁瑣的c語言api函式,比起直接操作sqlite更加方便。fmdb優點 1.使用起來更加物件導向,省去了很多麻煩 冗餘的c語言 2.對比蘋果自帶的coredata框架,更加輕量級和靈活 3...