nodejs操作sqlserver数据库简单封装-node-mssql模块

龙智
2023-12-01

一 安装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')
db.list_sql('select count(*) as count from X',function (result) {
    console.log("查询数量:"+result[0].count)
});

 

 类似资料: