最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

MS SQL在NodeJS中不返回数据

IT培训 admin 9浏览 0评论

MS SQL在NodeJS中不返回数据

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

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();

我使用了。我正在尝试在我的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表示我的数据。

MS SQL在NodeJS中不返回数据

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

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();

我使用了。我正在尝试在我的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表示我的数据。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论