Utilisation de LocalStorage pour faire fonctionner la base de données sqlite en QML

importer QtQuick 2.5
importer QtQuick.Window 2.2
importer QtQuick.Controls 1.4
//
importer QtQuick.LocalStorage 2.0


Fenêtre {
    visible: vraie
    largeur: 640
    hauteur: 480
    titre: qsTr ("Hello World")

    Row {
        Button {
            id: btnAddRow
            text: "增加"
            onClicked: {
                insertTbl ("rr", "dd");
            }
        }
        Bouton {
            id: btnSubRow
            text: "查询"
            onClicked: {
                text = selectTbl ("rr");
            }
        }
    }

    Component.onCompleted: {
        initialize ();
    }


    fonction getDatabase () {
         return LocalStorage.openDatabaseSync ("customdb", "1.0", "a db", 100000);
    }

    // Lorsque le programme s'ouvre, initialisez la
    fonction table initialize () {
        var db = getDatabase ();
        db.transaction (
            function (tx) {
                tx.executeSql ('CREATE TABLE IF NOT EXISTS table_1 (col_1 TEXT UNIQUE, col_2 TEXT)')) ;
          });
    }

    // 插入 数据
    fonction insertTbl (paramètre, valeur) {
       var db = getDatabase ();
       var res = "";
       db.transaction (function (tx) {
            var rs = tx.executeSql ('INSERT OR REPLACE INTO table_1 VALUES (?,?);', [setting, value]);
                  //console.log(rs.rowsAffected)
                  if ( rs.rowsAffected> 0) {
                    res = "OK";
                  } else {
                    res = "Error";
                  }
            }
      );
      return res;
    }

     // 查询 数据
    fonction selectTbl (réglage) {
       var db = getDatabase ();
       var res = "";
       db.transaction (function (tx) {
         var rs = tx.executeSql ('SELECT col_2 FROM table_1 WHERE col_1 = ?;', [setting]);
         if (rs.rows.length> 0) {
              res = rs.rows. item (0) .col_2;
         } else {
             res = "Unknown";
         }
      })
      return res
    }
}
 

Après l'exécution 

 Moteur QQmlApplicationEngine;
Créez le dossier Bases de données sous le chemin de engine.offlineStoragePath (), placez le fichier de configuration ini sous le dossier 

[Général]
Nom = customdb
Version = 1.0
Description = a db
EstimatedSize = 100000
Driver = QSQLITE
 

Et la base de données de XXX.sqlite

Wow
Publié 206 articles originaux · loué 18 · 70 000 vues

Je suppose que tu aimes

Origine blog.csdn.net/lvmengzou/article/details/105244853
conseillé
Classement