1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- var mssql = require('mssql'); //包含mssql模块
- //----------------------------------mssql 连接设置--------------------------------------
- function mssqlconnet(ho, db) {
- return {
- user: 'usestudio',
- password: 'usestudio-1',
- server: ho,
- database: db,
- port: 11302
- };
- }
- //----------------------------------mssql 查询语句--------------------------------------
- exports.usselect = function (paramsarr, callback) {
- var _params; //截取存储过程参数数组变量
- var _sql = "EXEC " + paramsarr[2]; //拼接sqlserver语句
- if (paramsarr[3]) { //判断是否存在参数
- _params = paramsarr.slice(3); //截取参数
- }
- console.log(paramsarr[0]); //输出数据库地址
- console.log(paramsarr[1]); //输出数据库名称
- var config = mssqlconnet(paramsarr[0], paramsarr[1]); //更新设置
- var connection = new mssql.ConnectionPool(config, function (err) { //创建连接
- var _ps = new mssql.PreparedStatement(connection); //调用查询方法
- var _param = {}; //定义存储过程参数对象
- if (_params) { //判断是否存在参数
- _params.forEach((value, key) => { //循环处理参数
- var _key = `param${key}`; //拼接参数名称
- _param[_key] = value; //设置的参数对象中
- if (typeof value == "number") { //数字类型参数处理
- _ps.input(index, mssql.Int); //添加整形参数类型
- } else if (typeof value == "string" && /^[a-fA-F0-9]{8}(-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}$/.test(value)) { //guid参数处理
- _ps.input(_key, mssql.UniqueIdentifier); //添加guid参数类型
- } else if (typeof value == "string") { //字符串参数处理
- _ps.input(_key, mssql.NVarChar); //添加字符串参数类型
- }
- _sql += ` @${_key},`; //拼接sql语句
- });
- _sql = _sql.slice(0, _sql.length - 1); //删除多余“,”号
- }
- _ps.prepare(_sql, function (err) { //格式化处理预执行sql语句
- if (err) //存在错误则输出日志
- console.log(err);
- _ps.execute(_param, function (err, data) { //传入参数执行sql语句
- if (err)
- console.log(err);
- else
- callback(JSON.stringify(data.recordsets)); //输出结果
- _ps.unprepare(function (err) { //释放连接
- if (err) //存在错误则输出日志
- console.log(err);
- });
- });
- });
- });
- }
- // var sql = require('mssql');//包含mssql模块
- // //----------------------------------mssql 连接设置--------------------------------------
- // function mssqlconnet(ho, db) {
- // return {
- // user: 'usestudio',
- // password: 'usestudio-1',
- // server: ho,
- // database: db,
- // port:11302
- // };
- // }
- // exports.usselect = function (pArr, callback) {
- // var _pro = "", i; //定义循环变量,对字符串解密
- // //for (i = 0; i < pArr.length; i++) { pArr[i] = decodeURIComponent(pArr[i]); } //解密中文字符串。
- // //如果前台没有传参数过来,则需进这里
- // if (!pArr[3]) {
- // _pro = "EXEC " + pArr[2];
- // } else { //否则有参数
- // _pro = "EXEC " + "" + pArr[2] + " '"; //命令拼凑
- // for (i = 3; i < pArr.length; i++) { _pro += pArr[i]; if (i < pArr.length - 1) _pro += "','"; } //拼凑参数
- // _pro += "'"; //拼凑结束。
- // }
- // console.log(pArr[0]);
- // console.log(pArr[1]);
- // var config = mssqlconnet(pArr[0], pArr[1]);//更新设置
- // var connection = new sql.ConnectionPool(config, function (err) {//创建连接
- // var request = new sql.Request(connection);//创建连接
- // request.query(_pro, function (err, recordsets) {//执行语句
- // callback(JSON.stringify(recordsets)); //返回json数据
- // });
- // });
- // }
|