nodejs mysql sqllite_封装nodejs操作sqlite数据库的模块

// import node modules package

const fs = require('fs');

const path = require('path')

const sqlite3 = require("sqlite3").verbose();

//import own package

const propath = require('../dir/handle');

// database file

const file = "linkeye.db";

//define error information

const createAccountTableErr = 'errone';

const createSendTableErr = 'errtwo';

//define success information

const createAccountTableSucc = 'succone';

const createSendTableSucc = 'succtwo'

var initDataBase={};

/*

* method:This funbction used to get the linkeye.db directory

* params:no

* return:linkeye.db directory

*/

function getDbFilePath(flag) {

var dir = propath.handlePath();

var dbDir = path.resolve(dir, '../../../');

var linkFileDir = dbDir + flag + file;

return linkFileDir;

}

/*

* method:This funbction used to check the linkeye.db file is exist or not

* params:no

* return:no

*/

initDataBase.checkCreateLinkeyeDb = function (){

var db;

var linkDirFile = getDbFilePath("/linkdata/");

var exists = fs.existsSync(linkDirFile);

if(!exists) {

db = new sqlite3.Database(linkDirFile);

console.log('create linkeye.db success');

}else {

db = new sqlite3.Database(linkDirFile);

console.log('linkeye.db is already exist');

}

return db;

}

/*

* method:This funbction used to create account table

* params:tableName

* params:db

* return:

*/

initDataBase.createAccountTable = function(tableName, db) {

if (!tableName || !db ){

console.log("table name or db is null")

return createAccountTableErr;

}else {

db.run("CREATE TABLE IF NOT EXISTS "+ tableName + " (" +

"account_id TEXT PRIMARY KEY NOT NULL," +

"account_name TEXT ," +

"account_passwd TEXT ," +

"account_address TEXT " +

") ");

console.log("create account table success");

}

return createAccountTableSucc;

}

/*

* method:This funbction used to create send table

* params:tableName

* params:db

* return:

*/

initDataBase.createSendTable = function(tableName, db) {

if (!tableName || !db){

console.log("table name or db is null");

return createSendTableErr;

}else {

db.run("CREATE TABLE IF NOT EXISTS "+ tableName + " (" +

"send_id TEXT PRIMARY KEY NOT NULL," +

"account_id TEXT ," +

"account_addr_from TEXT ," +

"account_addr_to TEXT ," +

"send_balance TEXT ," +

"service_charge TEXT ," +

"comment TEXT ," +

"send_status TEXT " +

") ");

console.log("create send table success");

}

return createSendTableSucc;

}

module.exports = initDataBase;

/*

* This Package used to execute sql operation

*/

const init = require('./init');

// error code

const execSqlErr = 'sqlerrone'

// init database handle

var sql = {};

/*

* Method:This function is used to execute sql sentence

* params: sql-sql sentence

* params: db-database handle

* return: fail to return error code

*/

sql.executeNoQuerySql = function (sql, db) {

if (!sql) {

console.log("sql sentence is null")

return execSqlErr;

}else {

db.run(sql)

}

}

/*

* Method:This function is used to execute sql sentence

* params: sql-sql sentence

* params: db-database handle

* return: success to return result set; fail to print error

*/

sql.executeQuerySql = function(sql, db) {

if (!sql) {

console.log("sql sentence is null")

}else {

db.all(sql, function(err, res) {

if(!err) {

var ret = JSON.stringify(res)

console.log(ret)

} else {

console.log(err);

}

});

}

}

module.exports = sql;

const init = require('./init');

const sql = require('./sqlite');

var db = init.checkCreateLinkeyeDb();

var sqlone = "INSERT OR REPLACE INTO account(" +

"account_id, account_name, account_passwd, account_address" +

") VALUES ('3','3','3','3')";

var err = sql.executeNoQuerySql(sqlone, db);

var sqltwo = "select * from account";

var ret = sql.executeQuerySql(sqltwo, db);

关注问我技术公众号,加小问,拉您入技术交流群:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值