gpt4 book ai didi

javascript - SQL Server 在一次调用中返回两次结果?

转载 作者:行者123 更新时间:2023-11-30 14:31:02 25 4
gpt4 key购买 nike

我已将一个 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`)
})

结果:

enter image description here

我可以看到之前有人提出过这个问题,但我不明白发生了什么,文档也没有提供太多关于为什么会这样的信息。我可以使用这些数据,我只是觉得同时返回记录集和记录集会更整洁。

提前致谢

最佳答案

这是 mssql 的预期行为,请查看文档 here .当您执行多个语句时,它允许您拥有多个记录集

您会注意到实际上有 2 个属性

记录集(单数)和记录集(复数)

记录集(单数)是指执行的第一条语句。在你的情况下你可以使用这个

recordsets(复数)是一组记录集,在您的情况下,数组中只有一个,因为您只运行一个语句。

关于javascript - SQL Server 在一次调用中返回两次结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51164724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com