gpt4 book ai didi

sql-server - NodeJS MSSQL .query 在记录集和记录集中返回双数据

转载 作者:搜寻专家 更新时间:2023-10-31 22:44:40 25 4
gpt4 key购买 nike

我看到从 Node 中的 mssql 返回的 JSON 中的所有数据行都重复了两次:

{
"recordsets": [[{
"student_firstname": "Jonah ",
"student_lastname": "Hill "
}, {
"student_firstname": "Debra ",
"student_lastname": "Smith "
}
]],
"recordset": [{
"student_firstname": "Jonah ",
"student_lastname": "Hill "
}, {
"student_firstname": "Debra ",
"student_lastname": "Smith "
}
],
"output": {},
"rowsAffected": [2]
}

我临时更改了查询以获取两行以查看是否所有行都是重复的,它们如您在上面所见。

function getStudent(studentID) 
{
console.log("---------getStudent");


sql.on('error', err => {
// ... error handler
console.log("DB Error2: " + err);
})


return sql.connect(config).then(pool => {
// Query
return pool.request()
.input('input_parameter', sql.Int, studentID)
//.query('select student_firstname, student_lastname from students where student_id = @input_parameter')
.query('select student_firstname, student_lastname from students where student_id in (31,32)')
}).then(function(result) {
console.log("getStudent:then(result=>");
console.dir(result);
sql.close();
return result;
})
.catch(err => {
// ... error checks
console.log("DB Error1: " + err);
sql.close();
throw err;
})

}

上述函数在返回 JSON 的 app.get 语句中调用。

console.dir(result) 显示与上面的 JSON 相同,除了在第一行显示“[Object]:。所以我认为它没有进一步包装 JSON。

{ recordsets: [ [ [Object], [Object] ] ],
recordset:
[ { student_firstname: 'Jonah ',
student_lastname: 'Hill ' },
{ student_firstname: 'Debra ',
student_lastname: 'Smith ' } ],
output: {},
rowsAffected: [ 2 ] }

我可以像这样处理数据,但它会浪费带宽。

最佳答案

数据不会被重新调整两次,而只是通过两个属性公开。 recordset 属性仅公开 recordsets 中的第一个记录集。

mssql documentation :

result.recordsets.length // count of recordsets returned by the procedure
result.recordsets[0].length // count of rows contained in first recordset
result.recordset // first recordset from result.recordsets

关于sql-server - NodeJS MSSQL .query 在记录集和记录集中返回双数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45464011/

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