"use strict"; var configFile = require('../include/commons').CONFIG_FILE; var config = require('../resources/config/' + configFile); var log = require('./log'); /** * 数据库查询工具,使用数据库连接池获取连接,执行查询,之后将连接返回连接池。 */ exports.execQuery = function (pool, options) { if(config.showSQL) log.info(options.sql); pool.getConnection(function (err, connection) { // 查询参数 var sql = options['sql']; var args = options['args']; var handler = options['handler']; if (err) { log.error('Database - get connection failed, ' + err); handler(err, 'db-getConnection'); return; } // 执行查询 if (args) { var query = connection.query(sql, args, function (err, results) { if (err) { log.error('Database - execute query failed, ' + err); handler(err, results); return; } // 处理结果 handler(err, results); }); } else { var query = connection.query(sql, function (err, results) { if (err) { log.error('Database - execute query failed, ' + err); handler(err, results); return; } // 处理结果 handler(err, results); }); } // 返回连接池 connection.release(function (err) { if (error) { log.error('Database - release connection failed, ' + err); } }); }); };