javascript - 如何从返回的查询信息中提取某些信息?
问题描述
我正在尝试连接到本地托管的 SQL 服务器并在数据库表上查询随机名称。这并不重要,因为我刚刚开始使用 SQL 和 JavaScript,所以我试图从简单的开始。但是,在我查询服务器并返回信息并将其转换为字符串并使用 express 写入本地托管网页后,我得到
{
'recordsets': [[{'Name': 'Victor'}]],
'recordset': [{'Name': 'Victor'}],
'output': {},
'rowsAffected': [1]
}
我只想从此信息中获取名称。是否有类似results.Name
或类似的简单功能。我正在使用 MySQL 来托管服务器,并使用 node.js 来连接和查询服务器。我想指出查询和与服务器的连接工作正常,快递上的本地网页也按预期工作。我只想从查询中获取名称,以便能够根据查询返回的名称在代码中稍后使用逻辑。
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);
推荐阅读
- javascript - 使用 fetch React Native 时的文本输入 onSubmit
- python - 获取python 3中的素数列表
- c# - 将 MailKit SmtpClient 限制为特定的 IP 地址或 NIC
- c# - 无法在 SpecFlow 中执行场景大纲
- dictionary - 在 Golang 中合并地图
- angular - 显示单个 Observable,而不是数组
- php - PHP- 2 个字节到 1 个数组中
- java - Eclipse:“显示视图”中的上下文菜单未打开
- android - 多个用户如何同时使用谷歌云语音
- java - 使用 Spring Boot 2 将 Spring Data Page 对象序列化为 JSON?