javascript - MS SQL 不返回 NodeJS 中的数据

标签 javascript node.js sql-server

我为数据库创建了配置文件,如下所示:

module.exports.connection = {
  sqlserver: {
    user: 'user_name',
    password: 'password',
    server: 'servername\\instancename',
    database: 'database_name',
    port: 1433,
  },
};

我在数据库中有一个简单的表:

enter image description here

我正在尝试从上表中获取数据,如下所示:

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 服务器上执行此操作。有什么想法吗?

最佳答案

我解决了我的问题。感谢 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 来呈现我的数据。

关于javascript - MS SQL 不返回 NodeJS 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58203320/

相关文章:

node.js - nodejs在docker swarm服务中的应用,update没有效果

sql - 将值拆分为多行

javascript - 使用 anime.js 变形 : coordinates jump somewhere else in between given start and end position

javascript - D3.JS 条件工具提示 html

javascript - 如何使用 jQuery Facebook 多好友选择器进行排序

sql-server - SQL Server : login success but "The database [dbName] is not accessible. (ObjectExplorer)"

sql - 如何通过提供路径来查询邻接关系(在 SQL 中)以获取叶子?

javascript - 禁用 :hover during Css animation

node.js - 在node.js-mongodb中分组

javascript - 使用 moment.Js 比较时间集