QML 数据库操作 简易篇

本文档记录了使用QML进行数据库操作的简易方法,主要适用于保存和读取音乐播放列表信息。作者发现QML数据库操作简单易用,尽管可能存在安全性问题,但针对小型应用已足够。目前在PC端验证正常工作,尚未在其他平台测试。文中包含简洁的数据库操作函数示例,该应用的完整版仍在开发中。
摘要由CSDN通过智能技术生成


此博客始创于:http://blog.csdn.net/lys211

转载请注明出处


此博客仅作记录备忘之用


QML 数据库操作 简易篇

在自己练习写QML小应用的时候,想用db来保存音乐播放列表的信息,发现qml操作数据库还是挺方便的,虽然可能像网上说的那样会不安全。

但是只是音乐播放列表,谁关心这个呢。


现在记录下来备忘。


目前的试验结果里,在PC端还是可以正常使用的,未在别的平台上试用过。

以下函数应该算是比较简明的了。


/*添加歌曲到播放列表中*/
function add_song_to_playlist(song_url, song_name){
 
    var song_star = 0;
    console.log("add_song_to_playlist", playListName, song_url, song_name, song_star);
 
    var db = Sql.LocalStorage.openDatabaseSync("SimpleMusicPlayerDB", "1.0", "DB for music store", 1000000);
    db.transaction(
                function(tx) {
 
                    tx.executeSql('CREATE TABLE IF NOT EXISTS ' + playlistPopupUi.playListName + '(fileurl TEXT, songname TEXT, songstar INTEGER)' );
                    tx.executeSql('INSERT INTO ' + playlistPopupUi.playListName + ' VALUES(?, ?, ?)', [ song_url, song_name, song_star ])
                }
                )
 
    playlistPopupUi.model.append({
 "songname":song_name, "fileurl":String(
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QML 中实现数据库修改功能,需要使用到 Qt 提供的 QML 模块中的 QtQuick.Controls 和 QtQuick.Dialogs。以下是一个简单的例子: ```qml import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQuick.Dialogs 1.3 import QtQuick.LocalStorage 2.0 Item { id: root property alias itemId: itemIdTextInput.text property alias itemName: itemNameTextInput.text property alias itemPrice: itemPriceTextInput.text TextInput { id: itemIdTextInput placeholderText: "Item ID" } TextInput { id: itemNameTextInput placeholderText: "Item Name" } TextInput { id: itemPriceTextInput placeholderText: "Item Price" } Button { text: "Update" onClicked: { var db = LocalStorage.openDatabaseSync("mydb", "1.0", "My Database", 1000000); var res = db.transaction(function(tx) { var rs = tx.executeSql("UPDATE items SET name=?, price=? WHERE id=?", [itemNameTextInput.text, itemPriceTextInput.text, itemIdTextInput.text]); console.log(rs.rowsAffected + " row(s) updated"); }); if (res.error) { console.error(res.error); errorDialog.text = res.error.message; errorDialog.open(); } else { successDialog.open(); } } } Dialog { id: successDialog title: "Success!" text: "Item updated successfully." standardButtons: Dialog.Ok } Dialog { id: errorDialog title: "Error!" standardButtons: Dialog.Ok } } ``` 在上面的例子中,我们创建了三个 TextInput 分别用于输入商品的 ID、名称和价格。然后创建了一个 Update 按钮,用于触发更新操作。当用户点击 Update 按钮时,将会打开一个本地数据库连接,执行一个事务,将输入的商品信息更新到数据库中。如果更新成功,则会弹出一个 Success 对话框,否则会弹出一个 Error 对话框。 需要注意的是,上面的例子中使用了 QtQuick.LocalStorage 模块来操作本地数据库。如果你想要使用其他数据库,需要根据具体的数据库类型和驱动来进行操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值