1. 程式人生 > >nodejs操作sqlserver資料庫簡單封裝-node-mssql模組

nodejs操作sqlserver資料庫簡單封裝-node-mssql模組

一 安裝node-mssql模組

npm install node-mssql

官方文件:https://www.npmjs.com/package/node-mssql

二 封裝連線資料庫程式碼

db.js:

var node_mssql = require('node-mssql');
/**
 * 連線資料庫
 * */
var queryObj = new node_mssql.Query({
    host: 'x.x.x.x',	 // You can use 'x.x.x.x\\instance' to connect to named instance
    port: 1433,
    username: 'myuser',
    password: 'mypassword',
    database: 'mydatabase'
});



/**
 * 新增
 * */
var insert = function (data, insertTable,callback) {

    queryObj.table(insertTable);
    queryObj.data(data);
    queryObj.insert(function (results) {
        callback(results);
    }, function (err, sql) {
        if (err) {
            console.log(err);
        }
    });
};

/**
 * 條件查詢
 * */
var list = function (successCallback, option, listTable) {

    queryObj.table(listTable);
    queryObj.where(option);
    queryObj.select(function (results) {
        successCallback(results);
    }, function (err, sql) {
        if (err)
            console.log(err);
    });

};

/**
 * 修改
 * */
var update = function (data, option, updateTable,successCallback) {

    queryObj.table(updateTable);
    queryObj.data(data);
    queryObj.where(option);

    queryObj.update(function (results) {
        successCallback(results);
    }, function (err, sql) {
        if (err)
            console.log(err);
        //console.log(sql);
    });

};

/**
 * 刪除
 * */
var del = function (ids, table,successCallback,failedCallback) {

    queryObj.query("delete from " + table + " where serno in ( " + ids + " )",successCallback,failedCallback);

};

/**
 * 模糊查詢
 * */
var list_sql = function(sql,successCallback){
    queryObj.query(sql, successCallback,function(err){
        console.log(err);
    });
};

/**
 *分頁查詢
 * */
var  list_sqlPage = function(sql,rows,page,successCallback){
    queryObj.query(sql,rows,page,successCallback,function (err){
        console.log(err);
    })
}


/**
 * 統計
 * */
var total = function(sql,callback){
    queryObj.query(sql,callback,function(err){
        console.log(err);
    });
};

/**
 * 根據ID查詢
 * */
var findUserById = function(sql,successCallback,failedCallback){
    queryObj.query(sql,successCallback,failedCallback);
};

exports.list = list;
exports.list_sql = list_sql;
exports.list_sqlPage = list_sqlPage;
exports.insert = insert;
exports.update = update;
exports.del = del;
exports.total = total;
exports.findUserById = findUserById;

三 測試

dbtest.js

var db = require('./db')
dbOds.list_sql('select count(*) as count from X',function (result) {
    console.log("查詢數量:"+result[0].count)
});