QML使用Sqlite数据库
来源:互联网 发布:淘宝商品种类 编辑:程序博客网 时间:2024/05/05 00:14
在程序中,我们经常需要把一些数据持久化,比如一些设置信息和程序配置。QML并不能直接访问本地文件,但是可以通过
Offline Storage API访问本地Sqlite数据库,从而达到目的。
首先在qml目录下创建一个storage.js
//storage.js// 首先创建一个helper方法连接数据库function getDatabase() { return openDatabaseSync("MyAppName", "1.0", "StorageDatabase", 100000);} // 程序打开时,初始化表function initialize() { var db = getDatabase(); db.transaction( function(tx) { // 如果setting表不存在,则创建一个 // 如果表存在,则跳过此步 tx.executeSql('CREATE TABLE IF NOT EXISTS settings(setting TEXT UNIQUE, value TEXT)'); });} // 插入数据function setSetting(setting, value) { var db = getDatabase(); var res = ""; db.transaction(function(tx) { var rs = tx.executeSql('INSERT OR REPLACE INTO settings VALUES (?,?);', [setting,value]); //console.log(rs.rowsAffected) if (rs.rowsAffected > 0) { res = "OK"; } else { res = "Error"; } } ); return res;} // 获取数据function getSetting(setting) { var db = getDatabase(); var res=""; db.transaction(function(tx) { var rs = tx.executeSql('SELECT value FROM settings WHERE setting=?;', [setting]); if (rs.rows.length > 0) { res = rs.rows.item(0).value; } else { res = "Unknown"; } }) return res}
然后就可以在qml里调用了
import Qt 4.7//引入storage.js,起个别名Storage,以供后面使用import "storage.js" as StorageRectangle { width: 360 height: 360 id: screen Text { id: textDisplay anchors.centerIn: parent } Component.onCompleted: { // 初始化数据库 Storage.initialize(); // 赋值 Storage.setSetting("mySetting","myValue"); //获取一个值,并把它写在textDisplay里 textDisplay.text = "The value of mySetting is:\n" + Storage.getSetting("mySetting"); }}
0 0
- QML使用Sqlite数据库
- SQLite数据库使用总结
- PureBasic 使用Sqlite数据库
- Android 使用SQLite数据库
- SQLite数据库的使用
- Android 使用SQLite数据库
- SQLite数据库使用
- Android 使用SQLite数据库
- Android使用SQlite数据库
- C#使用SQLite数据库
- unity3d 使用sqlite数据库
- sqlite 数据库使用
- sqlite数据库的使用
- SQLite 数据库使用
- Android 使用SQLite数据库
- 使用sqlite创建数据库
- Android使用SQlite数据库
- sqlite数据库使用
- office文档 在线预览 (doc、ppt、xls)
- db.update("Book",values,"name = ?",new String[]{"book2"})错误用法记录
- npm 安装jslist 实现 src目录下js文件在project.json批量配置
- Android 开启指定名称的WiFi热点
- Oracle中如何创建序列
- QML使用Sqlite数据库
- JavaEE_Mybatis_SpringMVC SpringMVC日期类型转换问题三大处理方法归纳
- Mysql学习笔记九,优化篇,SQL优化
- 使用zxing生成二维码图片,并解析
- android 应用程序混淆打包说明
- RxJava学习笔记
- Java中关键字continue、break和return的区别
- java Exception
- Python -- 使用requests模块发送GET和POST请求