trybeetle

take it slow!!

Cordovaでsqlite


Posted on Feb. 18, 2018, 10 a.m.



Cordovaでsqliteの使用方法についてです

plug-inのインストール

visual studio で通常通り、cordovaのプロジェクトを作成

config.xmlを開き、plugins -> Cordova sqlite storage plugin を選択。Addをクリックし、pluginをインストールする。

sqliteの操作

Cordova sqliteの操作方法のまとめです。

・Databaseの作成

・tableの作成

・Insert

・Read

・Update

・Delete

・Drop(table)

Databaseの作成

まず下記の様に記述し、databaseを作成します。


  var db = window.sqlitePlugin.openDatabase({name: 'my.db', location: 'default'});

tableの作成

下記、table作成例。table名をtesttableとし、columnは、id, item, detailの3つとする。


  myDB.transaction(function(transaction) {
    transaction.executeSql('CREATE TABLE IF NOT EXISTS testtable (id integer primary key, item text, detail text)', [],
    function(tx, result) {
      console.log("table created");
    },
    function(error) {
      console.log("error while creating table");
    });
  });

Insert

先に作成したtableに対し、データを1行挿入する例です。


  var item="testitem";
  var detail="this is a test item";
  myDB.transaction(function(transaction) {
    var executeQuery = "INSERT INTO testtable (item, detail) VALUES (?,?)";
    transaction.executeSql(executeQuery, [item,detail]
    , function(tx, result) {
      console.log('insert completed');
    },
    function(error){
      console.log('error while inserting data');
    });
  });

Read

testtableを全件表示させる場合


  myDB.transaction(function(transaction) {
    transaction.executeSql('SELECT * FROM testtable', [], function (tx, results) {
      var len = results.rows.length, i;
      for (i = 0; i < len; i++){
        $("#TableData").append(""+results.rows.item(i).id+""+results.rows.item(i).item+""+results.rows.item(i).detail+"");
      }
    }, null);
  });

Update

idを取得し、itemやdetailを修正する場合


  var id=$("#id").text();
  var item="modifiedtestitem";
  var detail="this is modified test item";
  myDB.transaction(function(transaction) {
    var executeQuery = "UPDATE testtable SET item=?, detail=? WHERE id=?";
    transaction.executeSql(executeQuery, [item,detail,id],
    //If Success
    function(tx, result) {console.log('update completed');},
    //If Error
    function(error){console.log('error while updating');});
  });

delete(data)

tableから対象データを1行削除する場合


  myDB.transaction(function(transaction) {
    var executeQuery = "DELETE FROM testtable where id=?";
    transaction.executeSql(executeQuery, [id],
    //If Success
    function(tx, result) {console.log('Delete completed');},
    //If Error
    function(error){console.log('error while deleting');});
  });

drop(table)

tableをDropする場合


  myDB.transaction(function(transaction) {
    var executeQuery = "DROP TABLE IF EXISTS testtable";
    transaction.executeSql(executeQuery, [],
    function(tx, result) {console.log('drop table completed');},
    function(error){console.log('error while dropping table');}
    );
  });

以上cordova sqliteの操作についてでした。


Category:cordova
Tag: cordova sqlite
Feb. 18, 2018, 10 a.m.

Comments