node-api内的SQlite池连接

时间:2018-09-16 13:10:34

标签: node.js sqlite nodeapi

当我们使用sqlite-pool与数据库创建连接时,建立连接后,它将创建两个额外的文件.db-shm或.db-wal文件,当我们通过连接对象插入数据时,它将包含该数据的.db-shm文件,它不会将数据插入到实际的.db文件中。

我的连接代码:

const sqlite3 =require('sqlite3').verbose();
const sqlite = require('sqlite-pool');
const Promise=require('bluebird');
var express= require('express');
var restapi = express();
    function setMultipleconnection(databasename)
    {
        var dbconnection;
        return new Promise((resolve, reject) => {
            dbconnection = new sqlite('./'+databasename+'.db',{Promise, min : 2, max:100});
            resolve(dbconnection)
            if(dbconnection == null)
            {
                console.log("conection failure");
                reject('error not connect');
            }
        }).catch((error) => { })
    }

并插入:

    restapi.get('/userlogin/:user', function (req, res){
        //createTBL_M_COMPANY("mydbex");
        var str="insert into user(name, title) values('kumar','hello')"
    setMultipleconnection("mydbex").then((dbs)=>
        {
            dbs.transaction(function(transaction, err)
            {
                transaction.run(str).then((row)=> {
                    if(row==undefined)
                    {
                        res.send('Error');
                    }
                    else
                    {
                        res.send("Success");
                    }
            }).catch((err)=> {
                        res.send({ success: "", error: err.message });
                });
            });
        });

    })

0 个答案:

没有答案