我为数据库创建了如下配置文件:
module.exports.connection = {
sqlserver: {
user: 'user_name',
password: 'password',
server: 'servername\\instancename',
database: 'database_name',
port: 1433,
},
};
我在数据库中有一个简单的表:
我正在尝试从上表中获取数据,如下所示:
const sql = require('mssql');
const config = require('../config/connection');
sql.connect(config.connection.sqlserver).then((pool) => pool.request().query('select type from dbo.category')).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
});
sql.close();
不幸的是,我在控制台中看不到任何东西,也没有任何错误,所以我找不到问题所在。 我也尝试过:
sql.connect(config.connection.sqlserver).then((pool) => pool.request().query('select type from dbo.category')).catch((err) => {
console.log(err);
}).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
});
sql.close();
我使用了https://www.npmjs.com/package/mssql#promises。我正在尝试在我的nodeJs服务器上执行此操作。有什么想法吗?
答案 0 :(得分:1)
我解决了我的问题。感谢Julia Shestakova的建议。 我的查询功能如下:
const sql = require('mssql');
const config = require('./config/connection');
module.exports = {
query(query) {
return sql.connect(config.connection.sqlserver).then(() => sql.query(query)).then((result) => {
sql.close();
return result.recordset;
}).catch((err) => console.log(err));
},
};
我将返回Promise,以便在服务器上调用查询功能时可以使用then
来显示数据。