knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

Vue.js + node/express + sqlite3 で、 CRUDの作成

index:

概要:

前のVue.js + express  関連になりますが、
sqlite3版で、 CRUD作成となります。

環境

node.js 10.16.0
express : 4.16.1
sqlite3
vue.js

参考のコード

github.com

api実装など

・準備/ 表の作成
https://github.com/kuc-arc-f/app7_vue_sqlite_1/blob/master/doc/tasks.sql

api.js
https://github.com/kuc-arc-f/app7_vue_sqlite_1/blob/master/routes/api.js

・new

router.post('/tasks_new', (req, res) => {
    data = req.body
//    console.log(data )
    var db = new sqlite3.Database( dbfileName )
    var items = []
    db.serialize(function() {
        var stmt = db.prepare('INSERT INTO tasks (title, content) VALUES (?, ?)')
        stmt.run(data.title, data.content )
        stmt.finalize()
        res.json(data);
    });
    db.close();
}); 


・index

router.get('/tasks_index', function(req, res) {
    var db = new sqlite3.Database( dbfileName )
    var items = []
    db.serialize(function() {
        db.all('SELECT id,title, content FROM tasks order by id desc;', function(err, rows) {
            rows.forEach( function (item) {
                items.push(item  );
            });
            var param = {"docs": items };
            res.json(param);
        });
    });
    db.close();
});

・TIMESTAMP/ 日付時刻の変換は、下記を参考しました。
https://qiita.com/TomK/items/132831ab45e2aba822a8