如何从返回的查询信息中提取某些信息



我正试图连接到本地托管的SQL服务器,并在数据库表上查询一个随机名称。这并不重要,因为我刚刚开始使用SQL和JavaScript,所以我试图轻松开始。然而,在我查询服务器并返回信息并将其转换为字符串并使用express写入本地托管的网页后,我得到了

{
'recordsets': [[{'Name': 'Victor'}]],
'recordset': [{'Name': 'Victor'}],
'output': {},
'rowsAffected': [1]
}

我只想从这些信息中得到这个名字。有没有像results.Name这样的简单函数或类似的函数。我使用MySQL来托管服务器,使用node.js来连接和查询服务器。我想指出的是,查询和与服务器的连接工作正常,express上的本地网页也按预期工作。我只想从查询中获得名称,以便能够在稍后的代码中根据查询返回的名称使用逻辑。

app.get('/', function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
var User_Selected = getRandomInt(1, 4);
let connection = sql.connect(sqlConfig, (err) => {
if (err) {
console.log(err);
} else {
res.write('DB Connected');
}
connection.query(
'SELECT Name FROM customers where CustomerId =' + User_Selected,
function (err, result, fields) {
if (err) throw err;
res.write(JSON.stringify(result));
res.end();
});
});
});

connection.query调用中得到的结果是:

const result = {
'recordsets': [[{'Name': 'Victor'}]],
'recordset': [{'Name': 'Victor'}],
'output': {},
'rowsAffected': [1]
};

你在这里得到了完整的结果:

res.write(JSON.stringify(result));

如果您只想用Name属性进行响应,只需将该res.write替换为:

const name = result.recordset[0].Name;
res.write(name);

最新更新