LocalStorageを使用してQMLでSQLiteデータベースを操作する

import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
//
QtQuick.LocalStorage 2.0をインポート


ウィンドウ{
    表示:真の
    幅:640
    高さ:480
    タイトル:qsTr( "Hello World")

    Row {
        Button {
            id:btnAddRow
            text: "增加"
            onClicked:{
                insertTbl( "rr"、 "dd");
            }
        }
        ボタン{
            id:btnSubRow
            text: "查询"
            onClicked:{
                text = selectTbl( "rr");
            }
        }
    }

    Component.onCompleted:{
        initialize();
    }


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

    //プログラムが開いたら、テーブル
    関数を初期化しますinitialize(){
        var db = getDatabase();
        db.transaction(
            function(tx){
                tx.executeSql( 'CREATE TABLE IF NOT EXISTS table_1(col_1 TEXT UNIQUE、col_2 TEXT)') ;
          });
    }

    //挿入データ
    関数insertTbl(setting、value){
       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";
                  }
            }
      );
      解像度を返す;
    }

     //查询データ
    関数selectTbl(setting){
       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
    }
}
 

実行後 

 QQmlApplicationEngineエンジン;
engine.offlineStoragePath()のパスの下にDatabasesフォルダーを作成し、そのフォルダーの下にini構成ファイルを配置します。 

[一般]
Name = customdb
Version = 1.0
Description = a db
EstimatedSize = 100000
Driver = QSQLITE
 

そしてXXX.sqliteのデータベース

元の記事206件を公開 賞賛された18件 ビュー70,000件

おすすめ

転載: blog.csdn.net/lvmengzou/article/details/105244853