使用nodejs连接达梦数据库,查询的数据返回结果是一个只有值的数组,怎么把数据处理成带有字段名和值的json格式
代码参考程序员手册的
// 引入 dmdb 包
var db = require('dmdb');
var fs = require('fs');
var pool, conn;
var http = require('http');
async function example() {
try {
pool = await createPool();
conn = await getConnection();
await query();
} catch (err) {
console.log(err);
} finally {
try {
await conn.close();
await pool.close();
} catch (err) {}
}
}
example();
/* 创建连接池 */
async function createPool() {
try {
return db.createPool({
connectString: "dm://SYSDBA:SYSDBA@localhost:5237?autoCommit=false&loginEncrypt=false",
poolMax: 10,
poolMin: 1
});
} catch (err) {
throw new Error("createPool error: " + err.message);
}
}
/* 获取数据库连接 */
async function getConnection() {
try {
return pool.getConnection();
} catch (err) {
throw new Error("getConnection error: " + err.message);
}
}
/* 查询 */
async function query() {
try {
var sql = "SELECT ID,NAME FROM SYSDBA.T2";
var result = await conn.execute(sql, [], { resultSet: true });
var resultSet = result.resultSet;
// 从结果集中获取一行
result = await resultSet.getRow();
while (result) {
console.log(JSON.parse(JSON.stringify(result)));
result = await resultSet.getRow();
}
} catch (err) {
throw new Error("queryWithResultSet error: " + err.message);
}
}
返回的结果只有值的一个数组
需要解析成json格式
[{
'ID':1,
'NAME':'ABC'
}]
试一下这样可以不 // 将结果转换为JSON
const jsonResult = JSON.stringify(rows);
// 输出JSON结果
console.log(jsonResult);