我已将 SQL Server 数据库连接到简单的 Node.js 服务器。当我运行代码时,我得到了记录集和返回给我的记录集。它们本质上都包含相同的数据。我可以使用这个,但它似乎多余,而且直接调用我需要的记录会更整洁。
我希望得到一个清晰的 ELI5 解释mssql
我认为 npm 文档有点令人困惑。
下面是代码:
const express = require('express');
const cors = require('cors');
const sql = require('mssql');
const app = express();
const sqlServer = 'hasea\\SQLExpress'
const selectAllQuery = 'SELECT * FROM dbo.users';
const config = {
user: 'nbar',
password: 'nb',
server: sqlServer,
database: 'nirvanaBar'
}
// SQL Select function
function DBconn(query, res) {
sql.connect(config, function (err) {
if (err) console.log(err);
var request = new sql.Request();
request.query(query, function (err, row) {
if (err) console.log(err)
res.json({
data: row
})
})
})
}
app.use(cors());
app.get('/', (req, res) => {
res.send("Hello from the server")
});
app.get('/users', (req, res) => {
//query?
//var andrew = "select * from dbo.users where firstName = 'Andrew';"
var matt = "select * from dbo.users where firstName = 'Matt';"
//DBconn(selectAllQuery,res);
DBconn(matt, res);
})
app.listen(4000, () => {
console.log(`Server started on port 4000`)
})
结果:
我可以看到这个问题之前已经被提出过,但我不明白发生了什么,文档也没有提供太多信息来说明为什么会出现这种情况。我可以使用这些数据,我只是认为返回记录集和记录集会更整洁。
提前致谢